准备工作
- 准备工作
- 一台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文件安装到手机中
adb instll /Work/Demo/test.apk
- 用IDA Pro打开apk,选择classes.dex文件。
问: 为什么是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,其他的保持不变。
问:为什么是8700端口呢?
答:在Android SDK中提供了一款工具DDMS,它用来监视App的运行状态和结果。它的默认端口是8700。
-
到此所有的工作准备就绪,然后就可以下断点开始调试App了。
-
结合前面打开的Classes.dex文件找到对应的内存基址,然后找到该内存基址,打上断点。
使用技巧
-
打开本地变量窗口
点击菜单栏上的"debugger-use source level debugger",然后点击"debugger-debugger windows - locals"
-
单步跟踪
按下F7或者F8
更多好文点击访问https://blog.52zhuanke.cn/
网友评论