【发布时间】:2015-10-27 00:06:07
【问题描述】:
我有一个使用 jni 的 apk 文件。我可以将 classes.dex 传递给 IDA pro 并将其附加到设备上的进程,但我无法进入本机库 *.so。怎么做?
我什至没有在“函数窗口”字段中看到 C 函数。我只看到 java 方法。
或者也许还有另一种方法可以在 apk 中调试 *.so?
【问题讨论】:
标签: android debugging java-native-interface dalvik ida
我有一个使用 jni 的 apk 文件。我可以将 classes.dex 传递给 IDA pro 并将其附加到设备上的进程,但我无法进入本机库 *.so。怎么做?
我什至没有在“函数窗口”字段中看到 C 函数。我只看到 java 方法。
或者也许还有另一种方法可以在 apk 中调试 *.so?
【问题讨论】:
标签: android debugging java-native-interface dalvik ida
您将需要两个 IDA PRO 实例。 在第一个中,您将附加 DEX 文件。 在第二个中,您将拥有自己的原生库。
可以使用 Davilk 调试器附加 DEX 文件。请记住,如果该应用不是您制作的并且清单不允许附加调试器,则您必须拥有带有ro.debuggable=1 的工程师设备。
另一方面,您可以使用 GDB 或 IDA android_server - 这确实非常好,并附加已打开本机库的实例。
在每个实例中设置断点并开始调试。
【讨论】:
android_server 不是很好。至少在真实设备上是错误且不稳定的。