ADB调试
模拟器+jadx+adb调试(Java/Smali层)
模拟器本人选择BlueStack5为例,首先点开模拟器的设置菜单:
- 在“手机”一栏中勾选启用Root权限
- 在“高级”一栏中找到Android调试(ADB),勾选以127.0.0.1:5555连接到Android
然后用jadx分析要调试的apk文件,点开右上角的调试配置
用命令行打开adb,并输入如下指令连接模拟器服务
1 | adb connect 127.0.0.1:5555 |
可使用如下指令确认设备连接状态
1 | adb devices |
此时jadx的调试配置窗口就会出现对应的设备及其包含的程序,选择要调试的程序,点击运行APP即可开始调试
可在Smali层中对指令打断点,运行使断点命中即可。步进、步过、步出功能与IDA类似,可在下方的调试窗口中按按键使用
已Root实机+IDA 8.3+adb调试(Native层)
将已Root的实机用USB连接到电脑,打开命令行输入如下指令查看已连接的设备信息
1 | adb devices |
打开IDA所在根目录,在/dbgsrv处找到对应的调试器,在当前文件夹打开新终端并将其通过如下指令传入实机中
1 | adb push android_server64 /data/local/tmp |
将端口转发到本地
1 | adb forward tcp:23946 tcp:23946 |
然后在终端中输入以下指令以启动调试服务
1 | adb shell |
用IDA分析从apk文件中解包出的.so文件(位置:\baby_re.apk\lib\arm64-v8a\libcreateso.so),选择Debugger->Remote ARMLinux/Android debugger,并进行如下配置
此时在手机上运行要调试的程序,然后选择附加进程,即可开始调试
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 hanafuda_store's Blog!