从.apk文件中获取Java源文件似乎很容易。但是,是否可以通过工具或棘手的方法从.apk文件中获取 Android.mk 或原生源文件?
我正在研究Android应用本机代码安全性,因此这些文件对我来说非常重要。谢谢。
答案 0 :(得分:4)
你不能从apk获取Android.mk,它只需要构建,因此,它不存储在那里(除非程序员把它放在res /文件夹或类似的东西)。
应用程序的所有本机代码都存储在apk根目录的libs /目录中。它是编译的ARM或x86代码,或两者兼而有之。您可以在libs / architecture_type / lib_name.so中找到它。您可以使用objdump或gdb来解释代码。反编译是一项艰巨的任务,但您可以找到一些可能适合您的软件。
编辑:我注意到你似乎担心人们会对你的代码进行逆向工程。防止某人对代码进行逆向工程的唯一可靠方法是不首先编写代码。你可以做一些让人很难的事情,但是有足够的人可以解决它。