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放到安卓上进行安装即可

原文地址:https://www.cnblogs.com/wuxianyu/p/14235912.html