调试第三方安卓 APK

逆向工程 安卓 apk
2021-06-30 03:15:59

有哪些方法可以调试第三方 android 应用程序(您没有源代码的应用程序)?我想通过指令单步执行 APK 指令,并可能在某些 API 或某些 smali 指令上设置断点。

我试过用 apktool 反编译,加载到 netbeans 中,并连接到模拟器,我也试过使用 IDA Pro,但我总是遇到类似“JDWP 错误:对等方重置连接”的错误。我已经尝试过使用默认的 Android 模拟器和使用 Android 5.0.1 的 Genymotion。

有没有人在这方面取得过任何成功?您能描述一下您使用的设置和工具吗?

1个回答

要在没有源代码的情况下调试 APK,您需要执行以下操作:

  1. 在 APK 中启用调试模式(使用apktool来实现)
  2. 签署 APK(使用 keytool 和 jarsigner)
  3. 安装应用程序并使用 Android Debug Monitor 或 DDMS 识别应用程序的调试端口
  4. 使用支持 JDWP 的 IDE,例如 NetBeans 指向带有反编译的 java 或 smali 的项目。

您可以在此博客中找到您使用的命令(第 5 节动态分析和调试)在 Android 应用程序上执行渗透测试的第一步