【问题标题】:Is it possible to get Android.mk or native source file from .apk file?是否可以从 .apk 文件中获取 Android.mk 或本机源文件?
【发布时间】:2011-11-06 15:39:42
【问题描述】:

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

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

【问题讨论】:

  • 安全和反编译是不相关的话题。
  • 是的,它们是相关的,因为确定使用本机代码的应用程序是否恶意的一种方法是首先反编译然后检查其源代码。

标签: android security android-ndk decompiling native-code


【解决方案1】:

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

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

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

【讨论】:

  • 我并不担心我的应用被逆向工程,但实际上我正在尝试对别人的应用程序进行逆向工程,目的是研究Android应用程序原生代码安全性。非常感谢!
猜你喜欢
  • 2021-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 2020-01-27
  • 1970-01-01
  • 2019-04-09
相关资源
最近更新 更多