一、霸哥
1.使用jadx-gui反编译源码
2. 启动闪退正常都是在启动类中做了签名校验,我们直接在MainActivity的OnCreate中看源码(通过Android Killer中可知MainActivity为启动类)
(1)
(2)
4.霸哥的代码量不多,很容易看出是在哪里做的签名校验,将这两处比较可以的代码在smali中给他注释掉
(1)
(2)
5.重写打包签名后,进行安装,但还是会闪退,推测so层可能也有校验 ,使用IDA打开so安装包里的so文件
6. 在方法列表中,很直白的,getSignHashCode这个方法名非常有可能是签名校验的方法,直接进入方法,并F5查看源码
7.可以看到,此处校验有一个退出的命令,那么我们就想办法不让他退出
(1)
(2)
(3)
(4)
(5) 切换16进制编码处同步
(6) 在16进制视图中,将exit用 00 00 00 00给去掉
8.打包签名重写安装,完成!
二、MySign
1.同上一样,在jadx-gui中打开apk
2.此时就是寻找可能是签名校验的代码
(1)
(2)
(3)
(4)
(5)
3.在Android Killer中找到对应的smali代码,将其注释掉
(1)
(2)
(3)
(4)
(5)
完成