IDA工具的使用

最后遗留的问题:IDA64?这怎么启动

1 手机上先把目标APK安装好

进入IDA的安装目录,我这个是免安装的,直接打开它的解压目录了

IDA工具的使用_第1张图片

2 push android_server

看到android_server没?把它push到手机的 /data/local/tmp中去

IDA工具的使用_第2张图片


adb devices查看真机或者虚拟机是否有在链接 

android-server push到手机

Microsoft Windows [版本 10.0.19041.1415]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Admin>adb devices
List of devices attached
127.0.0.1:62025 device

#将android_server文件push到手机
C:\Users\Admin>adb push C:\Users\Admin\Desktop\IDA_Pro_Green\IDA_Pro_v7.0_Portable\dbgsrv\android_server /data/local/tmp
C:\Users\Admin\Desktop\IDA_Pro_Green\IDA_Pro_v7.0_Portable...ile pushed, 0 skipped. 779.1 MB/s (589588 bytes in 0.001s)
C:\Users\Admin>
C:\Users\Admin>adb shell
root@shamu:/ # su
root@shamu:/ # cd /data/local/tmp
root@shamu:/data/local/tmp # ls
AppiumBootstrap.jar
android_server
appium_cache
dump.xml
frida-server-12.9.8-android-x86
re.frida.server

127|root@shamu:/data/local/tmp # chmod 777 android_server
root@shamu:/data/local/tmp # ./android_server
IDA Android 32-bit remote debug server(ST) v1.22. Hex-Rays (c) 2004-2017
Listening on 0.0.0.0:23946...

3 另启一个cmd,开启端口转发

Microsoft Windows [版本 10.0.19041.1415]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Admin>adb forward tcp:23946 tcp:23946
23946

C:\Users\Admin>

4 附加apk程序

IDA工具的使用_第3张图片

IDA工具的使用_第4张图片

 error:incompatible debugging server:address size is 4 bytes

这个错误的原因是,你的android_server 是32位的
但是你启动的 ida 是64位的
换成32位的ida 就可以了

我就想启动64bit的IDA

把android_x64_server push到手机试试看

IDA工具的使用_第5张图片

 同android_server push到手机后一样chmod 777之后执行报错:

./android_x64_server: not executable: 64-bit ELF file,那就用IDA32打开吧。

IDA工具的使用_第6张图片

 点击Search

填入目标app的包名

会跳转到进程号和包名对应的那一行,检查一下进程号是否正确

点击OK

F2反汇编窗口,在目标行添加断点

因为程序已经打开,所以返回到手机主界面重新打开APP,就会被断点拦截住。

但不能每次添加断点都要重新打开APP,所以以调试模式启动应运而生。

不知道清理后台会怎样,如果清理后台的目标APP再进入,我猜会由于进程号发生改变导致IDA的进程号与现有进程号不对应导致Debug失败。

IDA工具的使用_第7张图片

IDA工具的使用_第8张图片

IDA工具的使用_第9张图片

5 调试模式启动:

不需要提前打开应用程序,此处的adb shell am start -D -n .....就相当于打开app了

adb shell am start -D -n /<.程序入口界面> 

 IDA工具的使用_第10张图片

IDA工具的使用_第11张图片 IDA工具的使用_第12张图片

6 启动 DDMS

DDMS 工具存放在SDK – tools/路径下,直接双击ddms.bat运行

IDA工具的使用_第13张图片

7. 执行jdb命令

DDMS中查看目标包名对应的端口填入下面的cmd命令中

jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=端口

截屏 

IDA工具的使用_第14张图片

8 改值

IDA工具的使用_第15张图片

你可能感兴趣的:(android,linux,java)