首页
社区
课程
招聘
[原创]反调试与反-反调试之Java层反调试
发表于: 2020-10-12 17:33 4705

[原创]反调试与反-反调试之Java层反调试

2020-10-12 17:33
4705

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

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

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

以“百度加固”为例。

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

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

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

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


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (7)
雪    币: 1696
活跃值: (2297)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
加固能重打包?
2020-10-13 01:35
0
雪    币: 244
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3

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

请问这样还是原始签名吗?
2020-10-13 11:06
0
雪    币: 14865
活跃值: (6088)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你都能调试了,为何还要修改代码?
你设置断点,然后修改v0的值不就过了检测?
2020-10-13 11:10
0
雪    币: 1996
活跃值: (3900)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
可以,但是也要修复之后
2020-10-13 17:07
0
雪    币: 1996
活跃值: (3900)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
6
是Androidkiller操作之后的
2020-10-13 17:08
0
雪    币: 1996
活跃值: (3900)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
7
tDasm 你都能调试了,为何还要修改代码? 你设置断点,然后修改v0的值不就过了检测?
学习嘛,不要嫌麻烦
2020-10-13 17:09
0
雪    币: 1282
活跃值: (1342)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
get到了新知识点 hh 学习了
2020-10-14 21:46
0
游客
登录 | 注册 方可回帖
返回
//