美文网首页
cmb反调试

cmb反调试

作者: 超威蓝猫l | 来源:发表于2019-08-12 23:24 被阅读0次

    根据帖子所说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反编译,原形毕露。

    image.png image.png

    交叉引用

    image.png

    查看交叉引用,果然,该壳 Hook 了 libart.so 的 _ZN3art3Dbg8GoActiveEv() 函数,在调试器附加的时候,该函数被调用,实际调用的是被 Hook 替换后的 sub_1B330() 函数,然后在 sub_1B330() 函数中使用 unix api kill() 结束自身。

    查看交叉引用,果然,该壳 Hook 了 libart.so 的 _ZN3art3Dbg8GoActiveEv() 函数,在调试器附加的时候,该函数被调用,实际调用的是被 Hook 替换后的 sub_1B330() 函数,然后在 sub_1B330() 函数中使用 unix api kill() 结束自身。
    
    image.png 这个操作在 image.png image.png

    保存在这里

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

    然后push到手机上

    当然。没法验证。因为我手机不知道为啥没有闪退

    相关文章

      网友评论

          本文标题:cmb反调试

          本文链接:https://www.haomeiwen.com/subject/gjcmjctx.html