1.使用AndroidKiller编译“霸哥磁力搜索”apk

2.将编译后的文件拖入到模拟器当中 闪退

3.我们打开ddms看看闪退时的信息

看到它加载了一个.so文件 和两个方法(qian()、oncreate())
4.我们使用jadx-gui看看代码(因为apk打开就闪退 大概率在主界面的oncreate方法里面)


在onCreate()方法中 找到了qian()、bug方法了 再结合代码 大概率闪退原因就是这两个方法了
5.使用ida工具打开libbug.so文件

一个静态注册
6.打开Java_com_bug_bt_MainActivity_bug "F5"一下查看伪代码

这里面有个 getSignHashCode() 点进去

我们将伪代码补全一些参数 来帮助更好的分析

7.看到这个exit(0)方法格外的醒目 我们把它nop掉试试

我们借助“armCode”工具 查看 nop(这些地址相隔为2 说明是thumb指令集)

我们将 FF F7 40 EF 改成 0000 C046 找到Hex View-1窗口 快捷键F2

改成

改完之后 按F2提交

修改成功

提交
8.再将这个SO文件替换原文件打包 运行

报错
9.我们还有一个qian()这个函数没弄
打开AndroidKiller工具 搜索qian

把这个qian方法注释掉

10.运行

还有一种方法

直接将getSignHashCode(a1,a2)nop掉 再把qian()使用AndroidKiller注释掉 运行 也会成功