IDA动态调试环境的搭建

动态调试可以是真机(需要有root环境,我用的是谷歌儿子 nexus5,4.4的系统),也可以用模拟器(当然首先得创建模拟器。。。反调试的话真机好一点,如果是模拟器可能会直接崩) 需要Xposed框架和插件可以联系我
1,在IDA安装位置找到android_server(dbgsrv目录)下面的 android_server文件push 到手机,放到、data/local/tmp目录下面

2,打开cmd窗口:运行android_server
①:adb shell 连接手机 给一个最高权限su;
②:来到/data/local/tmp: cd /data/local/tmp,
给androi_server一个最高的权限:chmod 777 android_server
③:查看Android_server是否拥有权限:ls -l
④:运行andorid_server: ./android_server(端口号默认是:23946)补充:运行andorid_server并且修改端口号:./android_server -p端口号

3,端口转发:
adb forward tcp:端口号 tcp:端口号(之前转发的端口号是什么,这里就是什么)

4,打开DDMS:观察程序的端口号(真机需要Xposed框架和插件,模拟器的话运行有可能会直接崩)
5,挂起程序:
adb shell am start -D -n 包名/类名
例子:adb shell am start -D -n com.example.javandk1/.MainActivity
补充:此时观察DDMS,被调试的程序前面有一个红色的虫子

6,IDA里面勾选三项:
①:打开ida,选择debugger -第二项-Remote ARMlinux(第四项)
②:添加hostname和portt:
hostname:主机号(默认127.0.0.1)
port:端口号(之前android_server运行时的端口号或者端口转发的端口号)
③:出来进程列表:选择要调试的程序(可以ctrl+f,搜索包名)
④:进来后,勾选三项:
在这里插入图片描述
Suspend on process entry point程序入口点 断下
Suspend on thread start/exit线程的退出或启动 断下
Suspend on library load/unload库的加载和卸载 断下
补充:可以直接在这里F9(左上角有一个三角形)运行程序,然后放手;
也可以,直接执行第7步,然后IDA运行程序

7,挂载、释放(放手):
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=端口号(是ddms里显示的端口8600)
补充:此时观察DDMS,被调试的程序前面有一个绿色的虫子;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱笑的林羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值