【问题标题】:Apk protection from reverse engineering - using the package name? [duplicate]Apk 保护免受逆向工程 - 使用包名称? [复制]
【发布时间】:2018-01-24 21:31:27
【问题描述】:

大家好,我刚刚构建了一个应用程序,我希望通过防止重新打包应用程序来保护它免受逆向工程的影响。 我做了proguard解决方案,但应用程序仍然被apktool反编译,我在Play商店看到了一个应用程序,我试图反/重新编译它,我注意到当我更改该应用程序的包名称时它崩溃了。 所以我想知道你是否知道他是怎么做到的

【问题讨论】:

  • 在你的 gradle 中尝试 minifyEnabled=true
  • @XH6user 我认为minifyEnabled 选项会缩小代码而不是混淆代码。

标签: java android android-studio reverse-engineering


【解决方案1】:

将其发布为答案,因为它太长了无法发表评论。您无法 100% 混淆您的代码。你可以让它变得更难,但并非不可能。 Proguard 完成了这项工作,但这并不是完全的混淆。您可以使用 ProGuard 的商业版 DexGuard,通过增加难度使安全性更加严格。代码将被转换为 .smali 文件,但人们仍然可以查找和编辑您的代码。

如果 Proguard 不能满足您的要求,您可以用 C/C++ 编写您的重要代码。这是因为逆向工程 C/C++ 比 Java 字节码更难。

您还可以研究将代码的重要部分保存在服务器上的选项。这只会让代码远离用户的设备。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-11
    • 2017-09-21
    • 2018-06-22
    • 2020-05-02
    • 2017-05-28
    • 2021-02-08
    • 2011-11-18
    相关资源
    最近更新 更多