首页
社区
课程
招聘
关于用ida远程调试android native c 的so文件的问题
发表于: 2012-10-23 10:27 36878

关于用ida远程调试android native c 的so文件的问题

2012-10-23 10:27
36878
关于用ida远程调试android native  c 的so文件的问题,有人实现了对so文件的动态调试吗?可以下断点?我看之前介绍的回帖,应该是有人完成动态调试so文件。但是我尝试用该方法,加载进程后一直中断在libc.SO这个库文件,请问如何能正确加载相应进程对应的相应so文件,并进入该so文件的领空进行动态下断点调试?希望能够指点下。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费
支持
分享
最新回复 (27)
雪    币: 922
活跃值: (2952)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
2
      帮你消灭零回复把。。
    我用ida调试也遇到差不多的问题。g一下到那个地址后,下好断点,然后模拟器中点击按钮触发事件,Ida的调试进程直接退出了。你解决了吗
2012-10-23 22:15
0
雪    币: 136
活跃值: (1525)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
这个问题我也遇到了
2012-10-24 15:48
0
雪    币: 2307
活跃值: (1023)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
调试so必须可以。
Debugger→Attach→Remote ArmLinux/Android debugger
Attach进程
CTRL+S找so
计算偏移找地址,F2下断后就OK
触发断点
2012-10-24 19:00
0
雪    币: 113
活跃值: (713)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
斑竹,我也断不下,算好偏移以后F2下断,但是程序执行到那里就自动闪退了,IDA里面提示

Could not set the shlib bpt, shared object events will not be handled

请问这是什么意思?谢谢
2012-10-25 13:59
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习下!!!!
2012-10-29 18:03
0
雪    币: 162
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也是老是停在libc.SO 无法进入要调试的so领空   我是直接搜索so文件名 找到后下断点 貌似没用 在这里竟然看到了非虫 以前在编程论坛  的汇编板块 就见过你了
2012-11-7 08:55
0
雪    币: 2307
活跃值: (1023)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
8
幸会
调试ARM程序时可能会在libc.so与linker上面触发断点,通常是5或15号的信号中断,这时改变异常选项,去掉中止程序的钩钩就可以了。
为什么会中断呢?我调试的时候,在遇到输入或输出等待时会触发15号的信号从而中断在libc.so中,而程序调用linker加载动态库时,这个动作是内核在代码中插入了bkpt中断的,通常是5号信号。
2012-11-8 09:45
0
雪    币: 162
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
非虫版主  为什么我把Edit exceptions 的stop 都关了还不行呢  还是只能停在libc.so:AFD0C52C LDMFD   SP!, {R4,R7}  这里      “去掉中止程序的钩钩就可以了” 难道不是指Edit exceptions ?  CMD 窗口显示的 是  failed to find data segment of  /system/bin/linker
2012-11-9 22:24
0
雪    币: 162
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
问题解决~~~~~~~~~~
2012-11-11 21:19
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
新手!认真学习一下!
2012-11-14 22:24
0
雪    币: 197
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
楼主怎么解决的,说下解决方法啊,也给后来人点借鉴,我调试android2.3就可以,android4.0就会断在libc.so的 LDMFD   SP!, {R4,R7}, 模块那边只有 linker,猜测可能是非虫版主所说的5号 和 15号信号,就edit exceptions 把 0x05 和 0x0f 信号 stop program 的勾去掉,还是没有反应。
2012-11-20 11:08
0
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bdw
13
版主,你的书什么时候市面上有买?
2012-11-28 20:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
霸主,把解决方法发布一下呗!~
2012-12-14 14:52
0
雪    币: 239
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
楼主怎么解决的?
2013-8-1 09:17
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
还有很多人的问题没有解决哦
2013-8-8 14:42
0
雪    币: 13
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
擦  楼主不厚道啊  。。。。 分享下解决方案啊 , 好多人都等着呢 ~~~~
2013-8-15 13:43
0
雪    币: 130
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
楼主不厚道啊~~~ 鄙视
2013-9-4 20:46
0
雪    币: 1234
活跃值: (307)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
过来看牛人。
2013-9-11 15:28
0
雪    币: 149
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
前几天调试so,非虫大哥说的那个5和15信号中断要去掉,经过试验最好也去掉11这个信号中断,具体的原因我还说不清楚,然后在Debug Options中选择Stop Entry就可以了,然后attach要调试的进程,一开始也会停在libc.so中,不用管,直接F9,设置自己so的函数断点,然后在App上进行相关的so的操作,就能断下来了。
如果这样还遇到问题的话,去掉所有的断点,再按步骤重试一下。
各位遇到其他的问题的话,发上来,大家讨论
2013-12-3 21:04
0
雪    币: 138
活跃值: (475)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
21
也不知道是不是IDA的bug, 我这 5 15 11 都不行;奇怪的是 用偏移算出来的地址 也不能断下来
2014-1-2 12:02
0
雪    币: 149
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我用的6.1的IDA版本
2014-1-3 09:39
0
雪    币: 138
活跃值: (475)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
我也是
2014-1-3 11:41
0
雪    币: 149
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
要调试的so,是apk启动之后手动加载的,如果一开始程序启动后就加载你需要调试的so,那这个就没办法了,你可以看看这个帖子
http://bbs.pediy.com/showthread.php?t=178659
2014-1-7 17:38
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
请教一下,函数的偏移量怎么计算
2014-7-10 17:21
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册
//