1122cf 发表于 2020-10-13 16:16

反调试-Java层反调试

安卓程序动态调试需要满足两个条件。

1.在AndroidMainfest.xml文件中,在application标签下,Android:debuggable=true。

2.系统默认调式,在build.prop(boot.img),ro.debugable=1。

1 . 实例演示java层反调试

以“百度加固”为例。

1.将样本拖入jdax-gui中,进行反编译,来到加固程序的onCreate 里,如下图所示。



2.找到attachBaseContext方法,里面有一个判断,调用这个Debug. isDebuggerConnected函数来检测程序是否被调试反调,从而执行是否加载so库的逻辑操作,如下图所示。



2.绕过Java层反调试的方法

1.使用androidkiller进行反编译,然后搜索isDebuggerConnected,如下图所示。



2.过来后,修改判断条件,将nez改为eqz,如下图所示。



4.修改smali之后,将apk重新打包,编译,再签名即可。

小结

在本次的分享当中,介绍了java层反调试的原理,通过一个反调试的例子,实操过掉Java层反调试。

ws258973 发表于 2020-10-14 09:22

反调试-Java层反调试的教程很少,不错

七七度 发表于 2020-10-16 01:21

看看,收藏收藏

拿着雪糕 发表于 2022-1-30 11:59

感谢大佬分享

520pojie 发表于 2022-1-30 12:04

有没有去过3陆0的教程

xZHX 发表于 2022-2-25 17:51

谢谢分享

CAemdn4780 发表于 2022-2-27 09:34

Thanks~ 向楼主致敬!

KcthLpNC593 发表于 2022-2-27 13:15

每天都能学到新知识,赞!

Ezy2 发表于 2022-3-1 07:21

感谢楼主

Idiptygh194 发表于 2022-3-3 10:14

感谢楼主
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 反调试-Java层反调试