ida远程链接apk步骤

全部链接过程共分四步。

第一步:启动apk,绑定端口

打开第一个cmd终端。
1.打开模拟器之后,用adb命令链接

adb connect 127.0.0.1:7555(mumu模拟器)

在这里插入图片描述2…使用am start命令启动apk程序。

adb shell am start -D -n com.******.****/com.*****.***Activity

启动后,模拟器界面会弹窗登录调试链接的信息。
在这里插入图片描述
3.查看apk进程id: adb shell ps|grep com.**.

在这里插入图片描述4.如果有android studio的DDMS工具。可通过ddms工具查看apk绑定的端口id.下图的2836为apk进程id,8700为绑定的电脑端口(前面绿色爬虫是因为我截图时已经连接并开始apk调试了)。
在这里插入图片描述
5.如果没有ddms工具,则转发模拟器的apk使用进程id2580 绑定到电脑端口 8700
adb forward tcp:8700 jdwp:2580
在这里插入图片描述

第二步、上传android_server,绑定ida使用端口

1.上传ida安装目录下的android_server文件到模拟器的 任意路径下(我这用的是android_x86_server)

adb push d:/android_x86_server /data/local/tmp

在这里插入图片描述
2.设置文件权限,启动android_server程序
在这里插入图片描述
3.重新打开一个cmd终端,输入”adb forward tcp:23946 tcp:23946”将模拟器的23946端口转发到电脑23946端口,供后续ida连接使用。注意不要学错字符和少掉冒号!!!

 转发后没有任何输入,代表转发成功。

在这里插入图片描述

第三步,启动ida,连接到apk

1.启动ida pro,点击”Debugger - > Attach -> Remote ArmLinux/Android debugger”,(如果后面提示链接错误,可以使用 Remote Linux debugger 再连接试试)会看到以下对话框:
在这里插入图片描述
点击”Debug options”按钮,在”Suspend on process entry point”, ”Suspend on thread start/exit”, ”Suspend on library load/unload” 等选项的前面打上勾,如下图所示:

在这里插入图片描述
点击”ok”后会在以下对话框的hostname中填上”localhost”,port填写第2.3步设置的电脑端口 ,点击“ok”.
在这里插入图片描述
7.在弹出的”Choose process to attach to”窗口中找到 你通过am命令启动的进程,选中该进程,然后点击”ok”按钮。
在这里插入图片描述
8.连接成功后就进入了ida的调试界面(如果失败,请参考https://blog.csdn.net/caiqiiqi/article/details/74121323?utm_source=blogxgwz1)
在这里插入图片描述

第四步 使用jdb连接模拟器的apk程序

1.在cmd终端中 使用jdb连接模拟器,port端口为第1.4步设置的电脑端口
jdb -connect com.sun.jdi.SocketAttach:port=8700,hostname=localhost
回车运行指令后,会一直等待指令结果。这时需要在ida中的“Debug options”菜单中,点击一次“继续运行”的操作,才会看到下面反面结果。
在这里插入图片描述
2.ida接到jdb触发的运行程序指令,手动在ida中的“Debug options”菜单中,点击一次“继续运行”的操作开始运行apk指令程序。

3.动态断点调试还在学习中。下一节再分享!!!

参考:

 https://www.jianshu.com/p/28bc480bf563   ADB指令大全
 https://bbs.pediy.com/thread-224420.htm
 https://blog.csdn.net/caiqiiqi/article/details/74121323?utm_source=blogxgwz1
 https://www.cnblogs.com/uestcbutcher/p/7280885.html    Android IDA So的动态调试大法 [非常棒]
 https://blog.csdn.net/u013553529/article/details/80036227  adb forward的细节
 https://blog.csdn.net/forlong401/article/details/45102087 使用 JDB 调试 Android 应用程序

-------------------- 如果对你有帮助,请帮忙支持一下!--------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章