侧边栏壁纸
  • 累计撰写 25 篇文章
  • 累计创建 11 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

APK 动态调试入门

LinJHS
2023-01-28 / 0 评论 / 0 点赞 / 13 阅读 / 3653 字 / 正在检测是否收录...

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 包。

解包

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

就这样,没了。


参考资料:

  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
0

评论区