首页
社区
课程
招聘
有关非虫大哥8.5节里动态调试的例子
发表于: 2015-7-22 16:19 11546

有关非虫大哥8.5节里动态调试的例子

2015-7-22 16:19
11546
大家好,本人新手调试安卓,使用非虫大哥的安卓逆向分析书里面的8.5节的例子。我使用的是bluestacks模拟器,IDA 6.6的版本
我的步聚是这样的:
1。像网上的push android_server到模拟器,提权,运行android_server,adb forward端口,
2。模拟器里运行debugjniso这个程序,点设置标题。
3。IDA远程附加,停在:
searching for crypto constants...

好久好久,左下角那些数字在增长,不知道是不是在下载模块?

还有一个问题是,假如我已知道要调试的函数的偏移地址後,调试SO库,我到底是拖进IDA分析,然後设置远程调试器并附加,还是直接用另一个空工程的IDA远程附加,两种都试过了,貌似都不行。。。
附加後
adb shell 里提示:Failed to find r_debug in /system/bin/linker,这个是否有问题??
附加後SO里都变成了一些数据,例如我知道基址+偏移,转到那里都不是汇编代码了,而且下断点是橙色的。
为什麽书上可以?

搞了几天,郁闷啊,不知道问题出现在什麽地方,希望大家指点一下,谢谢

附件传不上去。。。why。。。

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 12
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
WIN7 32位的系统,会不会跟系统有关系?
2015-7-23 09:09
0
雪    币: 269
活跃值: (906)
能力值: ( LV12,RANK:345 )
在线值:
发帖
回帖
粉丝
3
最近我也在玩安卓,第一个问题直接取消那个查找对话框就可以,不用等他。第二的话,可以用IDA打开so文件然后选择附加,你定位的时候没有看到代码段其实是没有找对代码的偏移地址。IDA6.6版本,不用自己计算地址,module窗口里边会显示出加载的so库,你双击目标库然后在对应函数上右键下断点就可以了
2015-7-23 09:13
0
雪    币: 11
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
我用avd的虚拟机,IDA6.1的是可以调通的。当时IDA附加到程序后也是没反应,你设了断点后,记得点击IDA的继续执行才可以。
2015-7-23 09:25
0
雪    币: 507
活跃值: (140)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
关于 searching for crypto constants
如果是静态加载so,可以等它加载完,这个时间一般不会太长,如果是动态调试,请记得点击cancel取消掉即可,这个大概意思是寻找ida中包含定义的一些加密算法的内容,因为动态调试,会从系统so开始加载起来,这个过程自然会特别长,可以忽略掉的。

第二个问题,是因为当前so还没有被加载起来,linker没有开始加载解析,所以你直接跳转到地址后,会是还没有进行反汇编的内容,你可以在libdvm.so中对loadnativecode这个函数下断点,等到加载完那个so之后,就可以正常跳转过去下断点。
或者静态加载so,下完断点之后,然后再动态调试进行附加,ida会有提示问是否是同一个so文件,选择是即可,这样会触发自己下好的断点。
2015-7-23 09:42
0
雪    币: 12
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢大家提点,这边我换了NDK模拟器,附加停下来可以看到汇编代码了,但有异常,提示:
the execution will be resumed after the exception,我点no(discard)
转到那个APK,点设置标题,弹出警告:
400422d8:got DIGURG signal (urgent condition on socket,exc code 17...
这个是什麽原因呢?400422d8这个地址不固定,好像有其它地址也触发这个异常,怎麽解决?
2015-7-24 08:49
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主 问题解决了么? 求分享!~
2015-8-21 16:17
0
游客
登录 | 注册 方可回帖
返回
//