APK 动态调试入门
本文记录了简单的 apk 动调的方法。
准备工作
首先,安装以下工具:
-
apktool(安装方式写的很详细了)
-
Android Studio
-
Android Studio 的 smalidea 插件。
安装方法:首先从上方链接下载 smalidea 插件。打开 Android Studio 的 Plugins 界面(File -> Settings -> Plugins),点开右上角小齿轮,选择 Install Plugin from Disk ,完成插件安装。
步骤
01 使用 apktool 解包并重新打包
该步骤的目的是为了生成可调试的 apk 包。
解包
usage: apktool d[ecode] [options] <file_apk>
-f,--force Force delete destination directory.
-o,--output <dir> The name of folder that gets written. Default is apk.out
-p,--frame-path <dir> Uses framework files located in <dir>.
-r,--no-res Do not decode resources.
-s,--no-src Do not decode sources.
-t,--frame-tag <tag> Uses framework files tagged by <tag>.
比如:apktool d "D:\1\app-debug.apk" -o "D:\1\output"
修改属性
找到 AndroidManifest.xml
文件中 application
这一行属性,并添加 android:debuggable="true"
(如果已经有的话就不用了)
比如:
<application android:debuggable="true" android:allowBackup="true" (后面略)
重新打包
usage: apktool b[uild] [options] <app_path>
-f,--force-all Skip changes detection and build all files.
-o,--output <dir> The name of apk that gets written. Default is dist/name.apk
-p,--frame-path <dir> Uses framework files located in <dir>.
比如:apktool b "D:\1\output" -o "D:\1\app-debug-output.apk"
现在,我们就得到了一个可以调试的 apk 包。
02 使用 Android Studio 调试
打开 Android Studio ,找到 File -> Profile or Debug APK 导入上一步获得的 apk 包。
此时,我们可以直接查看自动生成的 smali 了。
这时候,就可以直接下断点调试了(操作方法就和开发 Android 应用调试的时候一样,这里就不赘述了)。
就这样,没了。
参考资料:
- android 动态调试apk,Android apk包的动态调试方法 https://blog.csdn.net/weixin_35238815/article/details/117582186
- Android逆向之旅-Android Studio的极简动态调试教程(2022最新版) https://blog.csdn.net/qq_41866988/article/details/127597780
- android studio动态调试apk最详细教程 https://blog.csdn.net/kenbo_257/article/details/122726128
- Android Studio动态调试smali https://www.codercto.com/a/69852.html
评论区