无名侠 发表于 2016-1-31 12:56:45

Android 5.0 + IDA 6.8 调试经验分享

本帖最后由 无名侠 于 2016-1-31 13:10 编辑

现在升级快,网上的资料只能做参考。
学到了NDK逆向这一块,昨天为了能让IDA 能动态调试SO,瞎折腾了很久,这里分享一下我的经验。


工具:
IDA pro 6.8
Android 5.x

IDA 6.8 在看雪吾爱应该都能找到下载地址。
我的手机是三星 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
      chmod755 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窗口中双击欲调试的模块,会看到模块的导出函数。


假如要调试 getCoin这个函数。 双击getCoin,就进入了函数的汇编代码界面。

单击红色圆圈中的蓝色原点就能下断点。我们需要修改这个函数的返回值,来达到修改金钱的目的,所以在 BX LR 这一行下断点。


当IDA停下来后,就可以在寄存器窗口修改R0寄存器的值。
全剧终。


一些小问题的非专业解答:
0x0:

1、手机没有Root
2、运行android_server 前请先su一下

0x1

IDA 6.8目录下,运行idaq.exe


0x2:

,,, 换真机,模拟器不行。

0x3:


版本不对,升级IDA,或者在手机上刷一个低版本的系统。

记住:
一定要Root,一定要Su,一定要改权限

例子下载:http://pan.baidu.com/s/1i3wzetf


参考文章:
如何使用ida在apk执行前动态调试其so中的函数
http://bbs.pediy.com/showthread.php?t=178659


一步步搭建ida pro动态调试SO环境。
http://bbs.pediy.com/showthread.php?t=203080

菜鸟总结so分析,arm 汇编,IDA静态分析
http://www.pd521.com/thread-790-1-1.html







无名侠 发表于 2016-1-31 13:07:29

沙发 是我的。

Childhood 发表于 2016-1-31 14:27:46

哎,静态调试还没玩熟呢

我放不下你 发表于 2016-1-31 17:44:13

学习啦,谢谢

清风远行 发表于 2016-1-31 18:50:47

路过学习,多谢楼主

地球之王 发表于 2016-2-1 10:21:57

真厉害   {:4_88:}

花墨 发表于 2016-2-1 12:20:50

来支持下{:4_89:}

chenjingyes 发表于 2016-2-3 22:57:36

{:4_86:}真厉害真厉害

Jacob 发表于 2016-7-21 10:25:49

新人,学习下                                    

kfhyygy 发表于 2016-8-21 19:19:54

支持一下
页: [1] 2
查看完整版本: Android 5.0 + IDA 6.8 调试经验分享