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注釋掉 運行 也會成功