0%

APK Dynamic Debug

APK 动态调试入门

本文记录了简单的 apk 动调的方法。

准备工作

首先,安装以下工具:

  1. apktool(安装方式写的很详细了)

  2. Android Studio

  3. Android Studio 的 smalidea 插件。

    安装方法:首先从上方链接下载 smalidea 插件。打开 Android Studio 的 Plugins 界面(File -> Settings -> Plugins),点开右上角小齿轮,选择 Install Plugin from Disk ,完成插件安装。

步骤

01 使用 apktool 解包并重新打包

该步骤的目的是为了生成可调试的 apk 包。

解包

1
2
3
4
5
6
7
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"(如果已经有的话就不用了)

比如:

1
<application android:debuggable="true" android:allowBackup="true"后面略

重新打包

1
2
3
4
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 应用调试的时候一样,这里就不赘述了)。

就这样,没了。


参考资料:

  1. android 动态调试apk,Android apk包的动态调试方法 https://blog.csdn.net/weixin_35238815/article/details/117582186
  2. Android逆向之旅-Android Studio的极简动态调试教程(2022最新版) https://blog.csdn.net/qq_41866988/article/details/127597780
  3. android studio动态调试apk最详细教程 https://blog.csdn.net/kenbo_257/article/details/122726128
  4. Android Studio动态调试smali https://www.codercto.com/a/69852.html