本帖最后由 夜步城 于 2022-7-28 21:04 编辑
最近在看安卓so方面的调试知识,在操作过程中会手动打开多个cmd窗口并输入adb shell相关的指令,很是麻烦。
同时如果不熟悉IDA怎样连接安卓手机的小白也得再输入命令上花费一点时间,因此为了方便快捷连接以及小白进行调试,分享一下自己用的Windows下的bat指令
首先,一般我们进行IDA调试so至少需要打开三个cmd命令框(其他方法另议):1、ddms;2、启动手机根目录下的IDA的server文件;3、jdb的attach等待debug的app指令
这里我弄了三个bat文件
先说使用方法,当然一些指令需要修改成自己的,后面看指令的时候再说
我们直接打开IDA一键调试(主).bat,此时会打开一个命令框cmd2来启动ddms,等待ddms启动完成(不打开ddms不知道APP的端口),然后在第一个cmd1框会提示“按任意键继续...”,我们按键盘一个键就行了。此时会打开第三个cmd3框,是用来转发端口、以调试打开APP等功能。同时cmd1窗口会启动IDA的server,cmd3窗口也会让手机的APP以调试模式打开,然后先不管cmd3窗口的按任意键(等我们在IDA里链接好安卓后再按任意键,此时再IDA的绿色三角形按钮来运行APP)。这个时候我们打开IDA选择go(中间第二个选项),选择Debugger
然后填入ip地址:127.0.0.1后即可查看到安卓的线程,选择需要调试的APP,并双击打开,等完全打开后
这个时候再选择cmd3,按任意键后以jdb的attach等待debug的app指令。此时按IDA的运行按钮(绿色三角),就可以愉快的调试啦!
指令如下:
1、IDA一键调试(主)
[Asm] 纯文本查看 复制代码
@echo on %关闭回显命令%
title cmd1
adb devices
start "" cmd /k call IDAdebug1.bat %新打开一个cmd并运行IDAdebug1.bat%
pause
start "" cmd /k call IDAdebug2.bat
adb shell "su -c './data/local/tmp/as32'" %运行手机端32位ida的android_server%
pause
这里/data/local/tmp/as32需要修改成自己的server存放目录以及名称
2、IDAdebug1
[Asm] 纯文本查看 复制代码
@echo on %关闭回显命令%
title cmd2
ddms %调用DDMS%
pause
3、IDAdebug2
[Asm] 纯文本查看 复制代码 @echo on %关闭回显命令%
title cmd3
adb forward tcp:23946 tcp:23946 %端口转发%
adb shell am start -D -n com.droider.debugjniso/.DebugjnisoActivity %debug状态启动手机端APP%
pause
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700 %attach等待调试的APP%
pause
这里的com.droider.debugjniso/.DebugjnisoActivity 修改成自己的APP主界面
其实算是半自动,但是也已经节省了不少时间!
操作视频地址:https://www.bilibili.com/video/BV1xB4y1C7MQ
附件:
IDA调试.rar
(776 Bytes, 下载次数: 101)
|