zoukankan      html  css  js  c++  java
  • apktool和jadx的结合使用绕过签名认证

    正常的apk文件在进行二次打包后,签名,安装后无法进行运行。一般这种情况都会有签名校验,

    如何破解签名校验,原理,把签名校验的代码找到,删掉similar里面的运行代码即可

    此次app以书旗小说为例

    apktool 先打开 shuqi.apk。生成为一个文件夹像这样

    (一个APK只有一个Application

    每个Apk运行时都需要有一个Application对象 Application对象执行onCreate方法是时 APP就开始运行
    )

    后用jadx再打开shuqi.apk。全局搜索application。搜索时选择类名字搜索,

    找到相关主函数

    打开此函数,一般校验签名的都包含sig,check字段,在里面搜sig

     找到了为checksigasync函数,我们点进去,双击,之后右键,find_usage

     找到此函数的位置,点进去

     发现此函数校验判断,大致意思是 if不等于,杀死进程,可以确定这段是校验签名的代码,

    我们回到之前的com.shuqi.app.shuqiapplication 找到执行此函数在138行

    现在,我们打开apktool分解之后的shuqi文件 找到smali文件,沿着此路径com.shuqi.app找到shuqi.application.smali文件。打开,编辑

     将line 138行 下面的全部删掉,apk安装后就不会执行 此校验,(此处138之前已经删除,用137作为替代)

    后再将shuqi文件进行打包,

    sh apktool b shuqi

    生成证书

    keytool -genkey -keystore my-release-key.keystore -alias my_alias -keyalg RSA -keysize 4096 -validity 10000

    会生成一个名为my-release-key.keystore的 证书

    用证书给apk签名
    jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore -signedjar
    shuqi_sing.apk shuqi.apk my_alias

    签名完成后会生成一个名为shuqi_sign的apk。此apk放到安卓上进行安装即可

  • 相关阅读:
    大数据面试题题库
    IDEA下通过Git实现代码管理
    使用QJM实现HDFS的HA配置
    1、HDFS分布式文件系统
    分析system_call中断处理过程
    由一段代码解析系统调用的原理
    从linux内核代码分析操作系统启动过程
    一个简单的时间片轮转多道程序内核
    从一段代码的汇编看计算机的工作原理
    九度OJ1468
  • 原文地址:https://www.cnblogs.com/wuxianyu/p/14235912.html
Copyright © 2011-2022 走看看