首页
社区
课程
招聘
[原创]当前最方便的逆向动态调试方法
发表于: 2015-2-9 18:24 25529

[原创]当前最方便的逆向动态调试方法

2015-2-9 18:24
25529
无源码的调试方法很多,但别人都是在smali代码之上进行调试的,我这个是在反编译得到的java源码之上进行调试的。
可以在无源码的情况下,反编译apk文件,并在反编译得到的java源码上跟踪调试apk应用。并利用eclipse的观察变量,查看线程,调用堆栈等功能,比调试smali代码方便很多。任何一名会用eclipse的开发人员都可以用该方法逆向分析Android应用。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 110
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看看你的设置。。。
2015-2-9 18:27
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
擦,不是还有java混淆技术吗?。so动态加密技术吗?
2015-2-9 19:19
0
雪    币: 105
活跃值: (201)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
任何方法都不完美,我这个只是相对smali更方便,
即使混淆过,用人力来阅读混淆过的smali总是比阅读混淆过的java吃力的
2015-2-9 19:28
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
下下来看看,多谢楼主!
2015-2-9 20:21
0
雪    币: 163
活跃值: (1538)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
总结下:
1.androidmanifest.xml增加android:debuggable="true"
2.ecllipse增加java工程,导入dextojar.bat生成的jar包(必须安装jd-ecllipse插件)。
3.下断,调试。

问题1:
在生成apk项目时,如果你不希望你的应用再被别人调试,那么你可以修改编译脚本,在javac命令
中加上-g:none参数,这样子就可以根除这种问题,并且,让你的apk体积减少10%-20%。

这样搞了之后,是否连smali都没办法调试了,还是JAVA这种不能调?

问题2:
要是增加了smali指令,然后用生成的apk包来获取jar包,这个jar包还能调试吧?
2015-2-9 20:23
0
雪    币: 105
活跃值: (201)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
不知道,不喜欢这种方法就不用吧
2015-2-9 21:57
0
雪    币: 163
活跃值: (1538)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
各有千秋,要是支持,局限性会好很多。
2015-2-10 09:18
0
雪    币: 335
活跃值: (263)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
现在都是逗比时代吗?好不容易有大牛吱招,总是有各种bs出现。。。。
2015-2-11 09:20
0
雪    币: 370
活跃值: (1176)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
10
感谢楼主分享
2015-2-11 11:13
0
雪    币: 52
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不知道JD和DEX2JAR能不能依据DEX中的调试信息(包括行号)  来生成JAVA代码 ?
若生成的JAVA代码和DEX中的行号调试信息不一致  则无法调试了..
目前我还没有成功用楼主的方式调试  不过依然很期待
2015-2-22 22:29
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
请问楼主,我在进入debug页面后,显示 source not found 。我装了jd-eclipse,也设置了.class和.class无源码的设置。可是还出现这个问题。请问该怎么解决。或者,如何用jd-gui导出Java文件,导出Java文件后如何调试。十分感谢。
2015-3-5 01:53
0
雪    币: 105
活跃值: (201)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
13
需要修改dex2jar的源码,全局搜索SKIP_DEBUG,把它的值赋为0,才能保留行号。
2015-5-8 09:48
0
雪    币: 105
活跃值: (201)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
14
要将导出的java文件放进项目里,在eclipse里右击包含这些java文件的地方,Build Path, Use as Source Folder,就好了。
2015-5-8 09:50
0
雪    币: 107
活跃值: (172)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
非常好,学习学习
2015-5-16 22:27
0
雪    币: 268
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
楼主反编译得不到java源码怎么搞?
2015-5-17 01:55
0
雪    币: 51
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
是一个方法。。
2015-5-19 11:41
0
雪    币: 52
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
感谢! 我试试看!
2015-5-21 22:00
0
游客
登录 | 注册 方可回帖
返回
//