1、手机没有Root
2、运行android_server 前请先su一下
0x1:
IDA 6.8目录下,运行idaq.exe
0x2:
,,, 换真机,模拟器不行。
0x3:
现在升级快,网上的资料只能做参考。
学到了NDK逆向这一块,昨天为了能让IDA 能动态调试SO,瞎折腾了很久,这里分享一下我的经验。
工具:
IDA pro 6.8
Android 5.x
我的手机是三星 on7 Android 5.1系统。
以前我一直用的是IDA 6.6,群里人说5.0以上的系统要用6.8…
在启动android_server 服务的时候遇到下面这种情况有可能就是IDA的版本不对了。
现在升级快,网上的资料只能做参考。
学到了NDK逆向这一块,昨天为了能让IDA 能动态调试SO,瞎折腾了很久,这里分享一下我的经验。
工具:
IDA pro 6.8
Android 5.x
我的手机是三星 on7 Android 5.1系统。
以前我一直用的是IDA 6.6,群里人说5.0以上的系统要用6.8…
在启动android_server 服务的时候遇到下面这种情况有可能就是IDA的版本不对了。
下面开始正式写,内容可能有些重复。
0x0: 将IDA pro 6.8 目录下的\dbgsrv\android_server 上传到手机 /data/local/tmp 目录下。
具体命令:
adb push \dbgsrv\android_server /data/local/tmp/android_server // 上传 \dbgsrv\android_server 根据自己实际情况修改
adb shell // 得到Android系统的shell,下面是在Shell中的操作
su //获得Root权限
cd /data/local/tmp
chmod 755 android_server // 修改android_server权限 rwxr-xr-x
./android_server //运行
这个CMD不要关了。
0x1 : 开启端口转发
另外打开一个cmd
adb forward tcp:23946 tcp:23946
0x2: 操作IDA
打开IDA ->Debugger->Attach->Remote ARMLinux/Anroid debugger
Hostname 就是Anroid机的主机地址,一般和电脑都在一个局域网吧? 填写Android主机的ip地址。端口默认即可。
完成后按下 Ok。
按下Ok后会出现一个进程列表,选择你要调试的进程。
附件里有一个So例子,先在Android机上运行起,然后在刷新IDA的进程列表。
进程太多的话,可以用包名关键字搜索。
附加后调试器会停在一个地方,先让程序跑起来吧,因为我们调试的是So模块。
如何调试XX模块?例子以附件中的Apk为例子
从这里调出模块窗口。
模块很多,你需要知道你要调试的是什么模块,用搜索功能会方便很多。
这个就是例子中要调试的模块,用Android Killer分析出来的。
在Module List窗口中双击欲调试的模块,会看到模块的导出函数。
下面开始正式写,内容可能有些重复。
0x0: 将IDA pro 6.8 目录下的\dbgsrv\android_server 上传到手机 /data/local/tmp 目录下。
具体命令:
adb push \dbgsrv\android_server /data/local/tmp/android_server // 上传 \dbgsrv\android_server 根据自己实际情况修改
adb shell // 得到Android系统的shell,下面是在Shell中的操作
su //获得Root权限
cd /data/local/tmp
chmod 755 android_server // 修改android_server权限 rwxr-xr-x
./android_server //运行
这个CMD不要关了。
0x1 : 开启端口转发
另外打开一个cmd
adb forward tcp:23946 tcp:23946
0x2: 操作IDA
打开IDA ->Debugger->Attach->Remote ARMLinux/Anroid debugger
Hostname 就是Anroid机的主机地址,一般和电脑都在一个局域网吧? 填写Android主机的ip地址。端口默认即可。
完成后按下 Ok。
0x1 : 开启端口转发
另外打开一个cmd
adb forward tcp:23946 tcp:23946
0x2: 操作IDA
打开IDA ->Debugger->Attach->Remote ARMLinux/Anroid debugger
Hostname 就是Anroid机的主机地址,一般和电脑都在一个局域网吧? 填写Android主机的ip地址。端口默认即可。
完成后按下 Ok。
按下Ok后会出现一个进程列表,选择你要调试的进程。
附件里有一个So例子,先在Android机上运行起,然后在刷新IDA的进程列表。
进程太多的话,可以用包名关键字搜索。
附加后调试器会停在一个地方,先让程序跑起来吧,因为我们调试的是So模块。
如何调试XX模块?例子以附件中的Apk为例子
从这里调出模块窗口。
模块很多,你需要知道你要调试的是什么模块,用搜索功能会方便很多。
这个就是例子中要调试的模块,用Android Killer分析出来的。
在Module List窗口中双击欲调试的模块,会看到模块的导出函数。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2019-9-30 17:12
被kanxue编辑
,原因: