IDA动态调试

时间:2021-7-21 作者:qvyue

准备

IDA

1.运行android_server

先将android_server push到模拟器或者真机上

adb devices
adb push "D:softIDA 7.0dbgsrvandroid_server" /data/local/tmp/as #32位
adb push "D:softIDA 7.0dbgsrvandroid_server64" /data/local/tmp/as64 #64位

adb shell
su
cd /data/local/tmp
chmod 777 as 
chmod 777 as64

# 根据手机架构选择运行32位还是64位
./as # or ./as64  可以加-p23946修改默认端口号
IDA动态调试
image.png

如果遇到端口被占用,可以通过以下命令结束程序

netstat -anp |grep 23946
kill -9 pid

2.端口转发

adb forward tcp:23946 tcp:23946

3.打开需要调试的app

adb shell am start -D -n com.test.jni_03/.MainActivity

4.打开IDA

选择 go – Debugger – Attach – Remote ARMLinux/Android debugger

IDA动态调试
image.png

ctrl-F搜索到需要的进程双击,稍等一会。

IDA动态调试
image.png

Debugger-Debugger options 勾选三项,点击OK,F9运行

IDA动态调试
image.png

5 CMD打开DDMS

monitor # or ddms
IDA动态调试
image.png

记下图中的8620,此时的虫子红色的

5.运行jdb命令

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

接下来就可以愉快的调试了
F2下断点(HEX View下为修改指令和保存指令)
F4移动到光标处
F7进入函数
F8单步调试
F9跳到下一个断点
G调到函数地址
N重名
Y修改参数
A识别为字符串
D data解析成数据

更多调试快捷键参考下面的文章
https://blog.csdn.net/jitaliangliang111/article/details/103672074

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。