smalidea动态调式Android smali代码
前文:
smalidea是IntelliJ IDEA / Android Studio的一个小插件.
不太适用于混淆严重或者加固的应用程序.
安装:
- 从Bitbucket(https://bitbucket.org/JesusFreke/smali/downloads/)下载页面下载最新的smalidea.zip文件;
- 在IDEA / AS中,设置 -> 插件,然后单击“从磁盘安装插件”按钮,选择下载的smalidea.zip文件;
- 单击“应用”并重新启动IDEA / AS。
调试应用程序:
注意:单步指令仅在IDEA 14.1及更高版本以及基于IDEA 14.1或更高版本的Android Studio中被支持。在早期版本中,尝试单步执行将转到下一个.line指令,而不是单步执行下一条指令。
1、使用baksmali将应用程序手动反汇编到新项目目录的“src”子目录中,例如 baksmali d myapp.apk -o ~/projects/myapp/src
2、在IDEA中,导入一个新项目,然后选择项目目录。例如~/projects/myapp
3、导入项目时,使用“从现有源创建项目”选项
4、创建项目后,右键单击src目录并选择“Mark Directory As-> Sources Root”
5、打开项目设置,然后选择/创建适当的JDK
6、在设备上安装/启动应用程序
7、运行ddms,然后选择应用程序的进程
8、在IDEA中,创建新的“远程”调试配置(运行 - >编辑配置),并将调试端口更改为8700
9、下断点,在需要调试的地方下断点即可
10、运行 - >调试
11、如果/当断点被击中时,应用程序应暂停,此时您可以单步执行,添加监视等。
再者:最近的Android Studio 3.2中执行以下操作:
- 使用baksmali将应用程序手动反汇编到新项目目录的“src”子目录中,例如 baksmali d myapp.apk -o ~/projects/myapp/src
- 在Android Studio中,关闭当前项目并选择“打开现有的Android Studio项目”。
- 创建项目后,右键单击src目录并选择“Mark Directory As-> Sources Root”
- 确保您的应用具有android:debuggable="true"Android Manifest。打开“USB调试”并使用“选择调试应用”在Android设备的“开发人员选项”中选择
- 使用启动应用程序并将JDWP服务转发到localhost adb forward tcp:8700 jdwp:$(timeout 0.5 adb jdwp | tail -n 1)(替代ddms)
- 在Android Studio中,创建一个新的“远程”调试配置(运行 - >编辑配置),并将调试端口更改为8700
- 在Android Studio中,选择“运行” - >“调试”
如果/当断点被击中时,应用程序应暂停,此时您可以单步执行,添加监视等。
本文地址:https://blog.csdn.net/u010671061/article/details/107135486
上一篇: cocos creator android 编译踩坑
下一篇: CSS基线