从.apk文件中获取Android.mk或本地源文件是否可能?

3

看起来从.apk文件中获取Java源代码非常容易。但是有没有可能通过工具或巧妙的方法从.apk文件中获取Android.mknative源文件呢?

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


1
安全和反编译是无关的主题。 - CodesInChaos
是的,它们是相关的,因为判断使用本地代码的应用程序是否恶意的一种方法是首先反编译,然后检查其源代码。 - Jiechao Wang
1个回答

5

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

应用的所有本机代码都存储在apk根目录下的libs/目录中。它是编译的ARM或x86代码,或两者兼有。您可以在libs/架构类型/lib_name.so找到它。您可以使用objdump或gdb对代码进行反汇编。反编译是一项更难的任务,但您可以找到一些可能适合您的软件。

编辑:我注意到您似乎担心别人反向工程您的代码。防止某人反向工程您的代码的唯一可靠方法是根本不编写该代码。但是,您可以做一些事情来使其对人们更加困难,但如果有人足够坚持,仍然可以绕过这些措施。


2
我并不担心我的应用程序被反向工程,实际上我正在尝试对他人的应用程序进行反向工程,以研究Android应用程序本地代码安全性。非常感谢! - Jiechao Wang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接