准备工作
- 准备工作
- 一台Mac os/Window系统的电脑
- 一部root的手机
- 一条数据线
- IDA Pro
- adb
- 需要进行调试的APK
演示环境
- Mac os系统的电脑
- 小米5 Max
- IDA Pro 7.0 64位
开始
- 将手机通过数据线连接到电脑
- 在手机上安装Xposed Installer工具,并安装XInstaller插件。安装完毕后,在XInstaller的其他设置中找到调试应用并勾选,勾选完毕后回到Xposred Installer软重启设备。
注:如果是未ROOT的设备,可以在AndroidManifest.xml的application标签里添加android:debuggable=”true”,然后保存后进行二次打包。
- 通过adb install 将apk文件安装到手机中
1 | adb instll /Work/Demo/test.apk |
用IDA Pro打开apk,选择classes.dex文件。
1
2问: 为什么是classes.dex文件呢?
答: classes.dex是应用的主要自行程序,包含着所有的Dalvik指令。等待IDA Pro加载分析完毕后,依次点击菜单栏的Debugger > Debugger options,在弹出的窗口中勾选”Suspend on process entry point”,并点击右下角的”Set specific options”按钮。
- 在新弹出的窗口中,填入ADB executable路径。然后点击”Fill from AndroidManfest.xml”按钮,IDA Pro就会自动加载”Package Name”和”Activity”,最后点击”ok”按钮即可。
- 然后在菜单栏中依次点击”Debugger-Process Options”,在弹出的窗口中将”Port”改为8700,其他的保持不变。
1 | 问:为什么是8700端口呢? |
到此所有的工作准备就绪,然后就可以下断点开始调试App了。
结合前面打开的Classes.dex文件找到对应的内存基址,然后找到该内存基址,打上断点。
使用技巧
打开本地变量窗口
点击菜单栏上的”debugger-use source level debugger”,然后点击”debugger-debugger windows - locals”
单步跟踪
按下F7或者F8