首页
社区
课程
招聘
[转帖]IDA PRO 6.1 远程调试 Android
发表于: 2011-10-22 10:26 57497

[转帖]IDA PRO 6.1 远程调试 Android

2011-10-22 10:26
57497
SaNX тут нет никакой проблемы.
Первое что нужно понимать с андроидным gdbserver IDA не работает без ручного ребейза.
Поэтому нужен android_server.
По шагам: запускаешь эмулятор с Android API 4< version <=8
Device RAM size - 256 минимум
Max VM application heap size >= 128
Дальше разницы нет реальное тело или эмулятор. Тело должно быть рутованое!
Обнаруживаешь тело:
adb kill-server
adb start-server
D:\SDKs\android-sdk\platform-tools>adb devices
Ждешь:
List of devices attached
emulator-5554 device

Делаешь прокидвание портов на эмуляторе:
telnet localhost 5554
там пишешь
redir add tcp:5000:5000 <Enter>
exit <Enter>

Или через (work on real device as well)
adb forward tcp:5000 tcp:5000

Заливаешь отладчик:
adb push с:\IDA\android_server /data/tmp (если девейс не рутован - залить не дадут)

потом:
adb shell

в шелле:
chmod 777 /data/tmp
/data/tmp -p5000

и оставлешь открытую консоль.

В ида выбираешь Remote ARM Linux/Android debugger
Address: localhost
Port: 5000

Debugger->Attach to process....

ВСЕ!

原帖:
http://exelab.ru/f/index.php?action=vthread&forum=3&topic=15481&page=15

已测试成功,不说细节了,大家自己去摸索

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

收藏
免费 6
支持
分享
最新回复 (28)
雪    币: 2882
活跃值: (1272)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yjd
2
俄文啊。*&……*&……*
2011-10-22 10:29
0
雪    币: 85
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
卧槽...这比看英文还纠结啊...

以下内容转自4L的链接:

android native c 的so调试
基本上跟linux 一样
1.把ida 目录下android_server 传到android 目录中
如:
adb push  android_server /data/local/tmp/
adb shell 进入模拟器
cd /data/local/tmp/
chmod 755 android_server
./android_server
看到监听端口 23946

2.在windows 控制台下转发window 到模拟器或者手机的端口
adb forward tcp:23946 tcp:23946

3.ida 中选择android 调试
在Debuggger 中的process options 的
hostname 填上localhost
port: 23946

4.在Debuggger 中的attach 上android 所对应的程序就行了

如果不调so,而是调是bin的话
第3部application 填上:你bin 在模拟器或者手机的路径
Input file:同application
Directory:你bin 在模拟器或者手机的目录路径
有参数的话,参数也填上
然后直接在第4部F9 或者start process

对于使用symbian的同学注意下:
第3部application 填上:你bin 在手机的路径
Input file:你本机电脑上的程序路径
port:com口

手机上要安装trk
注意:ida6.1 才支持android 调试,5.5 不支持
2011-10-22 10:47
0
雪    币: 403
活跃值: (330)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
4
第八个男人上已经有人贴出来了http://debugman.com/thread/6230/1/1
2011-10-22 13:44
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
靠  落伍了  抓紧学一下
2011-11-15 08:41
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
能不能详细点呀,真机调试attach进程列表只有一个sh进程,看不到要调试的进程呀
手机上要安装trk,trk是什么东西呀
2011-11-24 21:24
0
雪    币: 360
活跃值: (77)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
7
第一个问题,只看到sh,是没有获得root权限的原因
第二个,只要安装了服务端,你链接上就可以附加调试了
2011-12-2 16:28
0
雪    币: 138
活跃值: (108)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
5.5一样能调试,当时我就是用ida5.5调试Android的
2012-1-23 11:39
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我搭建好了  
但是每次调试的时候提示我指定的路径不对
要么断在libc.so,走几步就提示无法下临时断点
惆怅了很久!
2012-2-20 12:33
0
雪    币: 497
活跃值: (63)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
10
C:\Users\Administrator>adb forward tcp:23946 tcp:23946
adb server is out of date.  killing...
* daemon started successfully *

一转发端口怎么模拟器里android_server阻塞监听端口23946的进程直接退出了 ...
从adb shell返回到windows命令行了

Listening on port #23946...

D:\android-sdk-windows\platform-tools>
2012-4-9 11:46
0
雪    币: 497
活跃值: (63)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
11
偶也 重启ok
公司的电脑 好几天不关机的...
2012-4-10 16:15
0
雪    币: 497
活跃值: (63)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
12
选好进程以后 发现同名so文件 点yes之后就假死了 过了很久(不知道几小时) 终于有反应了
2012-4-11 15:14
0
雪    币: 243
活跃值: (247)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
这么牛叉呀。。。。。
2012-6-9 09:16
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
敢问兄台可以通过这种方法,可以用IDA动态调试android apk进程调用的so文件?能够进入so的领空,还能下断点?为何我一直在libc.so这个断下来。
2012-10-18 15:14
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这个您能进入进程加载的so文件的领空,并且下断动态调试?
2012-10-18 15:15
0
雪    币: 113
活跃值: (633)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
兄台,你断下来了吗?我跟你遇到同样的问题,断点断不下来,现在只能静态分析,累死了
2012-10-24 17:26
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
嗯,我同样没有断在进程对应的so文件领空,静态分析确实麻烦了点
2012-10-24 17:35
0
雪    币: 166
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我的attach也是只有一个SH,手机已经ROOT了呀,并且android_server已经777了。

不知道怎么回事,找不到进程,没法Attach进去。。

谁晓得?
2012-10-25 11:35
0
雪    币: 497
活跃值: (63)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
19
可以断的 而且 一下就断到了 就比调exe慢一点点
2012-10-29 23:00
0
雪    币: 162
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
edit execeptions 设置了 还是一开始就断在 libc.so     不知道能断在需要调试的so上的兄弟 是怎么做到的 而且 通过ctrl+s 搜索自己需要中断的so文件  名字是有点中进去后发现XXX.so:400BDB4C DCB  XXXX  并不是代码..... 很是奇怪
2012-11-11 11:55
0
雪    币: 102
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
好耐心啊,几个小时都能等,是我早结束进程了。
2012-11-12 02:18
0
雪    币: 61
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
我也同样已启动ida就断到libc.so上了。怎么才能中断到自己so文件的领空呢。求解。也有可能是demo的问题,如果哪个兄弟成功了麻烦发一个demo啊 大家研究一下
2013-3-5 18:42
0
雪    币: 314
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
从调试模块里找
跟demo 无关,android_server 最好用6.2 以上版本的,android_server  6.1 的对android 2.3 以上不好用。
2013-3-22 10:05
0
雪    币: 219
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
这个问题如何解决的 请大牛们指点下
2013-5-6 10:07
0
雪    币: 219
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
终于找到原因了,是server需要root权限运行,切换到root用户运行就行了
2013-5-6 10:24
0
游客
登录 | 注册 方可回帖
返回
//