我现在手上有6.1 6.4 6.5的IDA。6.1目录下带一个android_server,push到目标机中(xiaomi2s)。所有的IDA 都可以连上,可以下断点,但是一旦断点被命中目标程序就立马退出(目标程序是一个COCOS2D下最简单的例子工程,应该不会有保护)。
GDBserver推送进目标机器并附加上目标程序。主机上所有版本ida都是一种表现:
弹出一个对话框,要我选择要附加哪个进程(GDBserver已经附加上了,为什么还要选?)
弹出对话框中的可选项:0 attach to the process started on target
1 enter PID to attach
选择第一个,IDA进入调试状态,各个窗口都没有信息,栈窗口全部都是esp等X86信息。感觉像是调试gdbserver????
选择第二个,输入PID,提示attach不上,或者和第一个一样。
gdbserver端:显示有调试器连接到了,由于IDA窗口中完全没有信息。所以就dettach了,gdbserver端做如下提示
Remote debugging from host 127.0.0.1
Detaching from process 30284
readchar: Got EOF
readchar: Got EOF
Remote side has terminated connection. GDBserver will reopen the connection.(选第一项)
Listening on port 12346
Remote debugging from host 127.0.0.1
Attached; pid = 30284
Detaching from process 30284
readchar: Got EOF
readchar: Got EOF
Re选mote side has terminated connection. GDBserver will reopen the connection.
(选第二项)
在看雪上有人发了个6.3的android_server,我同样推送进目标机器并且开启调试。但是IDA连接此6.3android_server提示协议版本不对,一个是14的,一个是15的。我又找不到6.3的IDA。希望大家帮我搭建下android动态调试环境。我搞了好几天了,快崩溃了。