安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

From:霸哥磁力搜索apk 过签名校验:https://www.cnblogs.com/LuLuLuHao/p/12863978.html

霸哥磁力搜索app回编签名:https://www.ssfiction.com/archives/2293    https://www.cnblogs.com/LuLuLuHao

哔哩哔哩:https://www.bilibili.com/video/BV1UE411A7rW?p=62

 

 

1. 打开AndroidKiller  将“霸哥磁力搜索”进行反编译

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

2.放进模拟器发现

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

3.打开 “ddms” 查看报错原因

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

没发现什么可疑信息

 

 

4.发现 apk 在打开主界面前就崩了 用 jadx-jui 看看 apk 的 oncreate() 方法,查找线索

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

点进去查看

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

发现一大堆   不管它了 直接把方法注释掉看看

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

5.先搜索关键点   再注释掉   回编译看看效果

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

现在能进去了    但界面看起来怪怪的(说明qian()这个方法还是有效果的)再接着往下看

 

 

6. 看到run()方法   run不就是运行吗? 运行不起来八成是它搞的鬼   看到有个bug()方法很可疑   

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

 

7.不管了  先把它注释掉  再说

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

 

8.发现越改越糟糕了

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

 

9.重新来

发现 bug 被 native 修饰  直接看 So

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

发现方法 getSignHashCode() 特别扎眼 点进去看一下

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

 

10. 一看杂乱无章 自己给他转换一下

(导入jni.h头文件 推测 getSignHashCode()方法参数  不被static修饰:env,obj;被static:env,class;)

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

签名三兄弟:getPackageManagergetPackageInfo、getPackageName、( singnatures )

 

 

11.一目了然  48行 这个exit(0)特别扎眼 直接把它nop掉试试

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

nop 掉

但是我们直接用 ida nop 是没用的   得要使用一个工具 “winhex”

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

 

12.然后保存  替换

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )

 

 

13.完美

安卓逆向_19 --- apk 过签名校验( 霸哥磁力搜索apk 过签名校验 )