cmb反調試

根據帖子所說https://www.52pojie.cn/thread-974881-1-1.html,調試器一附加,就會整個結束。

但是我這邊附加上去後啥事沒有,也沒退出,就只好根據他的帖子走一下。

查看死亡前的 logcat 果然找到了一些蛛絲馬跡:
2019-06-06 22:20:39.675 32678-32685/cmb.pb E/2g.out: libdvm_dvmDbgActive_stub called
2019-06-06 22:20:39.730 32678-32685/cmb.pb I/art: Debugger is active
2019-06-06 22:20:39.730 32678-32685/cmb.pb E/2g.out: kill:libdvm_dvmDbgActive_stub

根據文章所述,退出的時候會打這幾個log

ALT + T 搜索“ libdvm_dvmDbgActive_stub”,果然很快就找到了關鍵代碼,F5反編譯,原形畢露。

交叉引用

查看交叉引用,果然,該殼 Hook 了 libart.so 的 _ZN3art3Dbg8GoActiveEv() 函數,在調試器附加的時候,該函數被調用,實際調用的是被 Hook 替換後的 sub_1B330() 函數,然後在 sub_1B330() 函數中使用 unix api kill() 結束自身。

查看交叉引用,果然,該殼 Hook 了 libart.so 的 _ZN3art3Dbg8GoActiveEv() 函數,在調試器附加的時候,該函數被調用,實際調用的是被 Hook 替換後的 sub_1B330() 函數,然後在 sub_1B330() 函數中使用 unix api kill() 結束自身。

這個操作在

保存在這裏

adb push libCmbShield.so /sdcard/
adb shell
su
cp /sdcard/libCmbShield.so /data/app/cmb.pb-1/lib/arm/

然後push到手機上

當然。沒法驗證。因爲我手機不知道爲啥沒有閃退

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章