【问题标题】:Will encryption of an apk file prevent hackers from decompiling it?apk 文件的加密会阻止黑客对其进行反编译吗?
【发布时间】:2014-11-18 05:40:28
【问题描述】:

是否可以通过加密来保护 apk 文件以防止反编译。我只是想防止黑客编辑 apk 的源代码并将其重新上传到 www.attacker-websites.com。

我们也欢迎您提出建议。

【问题讨论】:

  • 不可能。启用 proguard 它将有助于混淆您的代码。请参阅此link

标签: android security encryption apk decompiling


【解决方案1】:

如果您对 APK 进行加密,则系统必须有一个密钥来解密它才能运行。但是,攻击者可以根设备获取密钥,然后对其进行解密。应用解密后,Java 逆向工程并不难。不幸的是,没有万无一失的方法可以防止 Android 应用程序的逆向工程。目前最好的选择是通过使用混淆来让攻击者的生活变得悲惨(尽管这违背了 Kerckhoffs 的原则)。 ProGuard 等工具有助于使您的应用程序更难逆向工程(但同样,并非不可能)。

简而言之,不幸的是,当攻击者可能拥有对其设备的 root 访问权限并且可以找到密钥时,加密 APK 将没有好处。

【讨论】:

  • 我不明白如果你成为 root 怎么可能解密一个 apk。解密消息的密钥是开发者提供的吧?
  • Android 应用程序在加密时无法运行。它需要在运行之前被解密,为此它需要一个密钥。密钥需要位于用户无法访问但系统可以访问的位置,以便它可以在运行应用程序之前解密 apk。但是如果用户有root访问权限,那么文件的位置就无关紧要了;用户可以在找到时访问它。
【解决方案2】:

好吧,没有标准的方法来防止黑客,因为它的工作是找到解决办法。很多人使用dex2jar通过反编译apk文件来获取源码。但通常像异步任务这样的线程内的任何代码都不会被反编译,你无法阻止黑客窃取代码,但你可以通过使用线程来使工作变得困难。

【讨论】:

    猜你喜欢
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    相关资源
    最近更新 更多