Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以从.apk文件获取Android.mk或本机源文件?_Android_Security_Android Ndk_Decompiling_Native Code - Fatal编程技术网

是否可以从.apk文件获取Android.mk或本机源文件?

是否可以从.apk文件获取Android.mk或本机源文件?,android,security,android-ndk,decompiling,native-code,Android,Security,Android Ndk,Decompiling,Native Code,从.apk文件中获取Java源文件似乎很容易。但是,有没有可能通过工具或复杂的方法从.apk文件中获取安卓.mk或本机的源文件 我正在研究Android应用程序本机代码安全性,因此这些文件对我来说非常重要。谢谢 您无法从apk获取Android.mk,它只用于构建,因此,它不存储在那里(除非程序员将它放在res/文件夹或类似的东西中) 应用程序的所有本机代码都存储在apk根目录的libs/目录中。它是编译的ARM或x86代码,或两者兼而有之。您可以在libs/architecture\u typ

从.apk文件中获取Java源文件似乎很容易。但是,有没有可能通过工具或复杂的方法从.apk文件中获取安卓.mk或本机的源文件


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

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

应用程序的所有本机代码都存储在apk根目录的libs/目录中。它是编译的ARM或x86代码,或两者兼而有之。您可以在libs/architecture\u type/lib\u name.so中找到它。您可以使用objdump或gdb分解代码。反编译是一项困难得多的任务,但您可以找到一些可能适合您的软件


编辑:我注意到你似乎担心人们对你的代码进行反向工程。防止有人对代码进行反向工程的唯一可靠方法是首先不要编写代码。然而,你可以做一些事情让人们感到困难,但是有足够的毅力的人可以绕过它。

安全和反编译是不相关的话题。是的,它们是相关的,因为判断使用本机代码的应用程序是否恶意的一种方法是先反编译,然后检查其源代码。我并不担心我的应用程序被反向工程,但实际上我正在尝试对其他应用程序执行反向工程,目的是研究安卓应用程序本机代码的安全性。非常感谢!