3

从 .apk 文件中获取 Java 源文件似乎很容易。但是是否可以通过工具或棘手的方法从 .apk 文件中获取Android.mk本机源文件?

我正在研究 Android 应用程序本机代码安全性,因此这些文件对我来说非常重要。谢谢。

4

1 回答 1

5

您无法从 apk 中获取 Android.mk,它仅用于构建,因此它不会存储在其中(除非程序员将其放在 res/ 文件夹或类似的东西中)。

应用程序的所有本机代码都存储在 apk 根目录下的 libs/ 目录中。它是编译的 ARM 或 x86 代码,或两者兼而有之。您可以在 libs/architecture_type/lib_name.so 中找到它。您可以使用 objdump 或 gdb 来反汇编代码。反编译是一项艰巨的任务,但您可以找到一些可能适合您的软件。

编辑:我注意到您似乎担心人们对您的代码进行逆向工程。防止某人对您的代码进行逆向工程的唯一可靠方法是一开始就不要编写它。但是,您可以做一些事情使人们感到困难,但是足够坚持的人可以解决它。

于 2011-11-06T16:21:27.410 回答