Apk 保护免受逆向工程 - 使用包名称? [复制]
Posted
技术标签:
【中文标题】Apk 保护免受逆向工程 - 使用包名称? [复制]【英文标题】:Apk protection from reverse engineering - using the package name? [duplicate] 【发布时间】:2018-01-24 21:31:27 【问题描述】:大家好,我刚刚构建了一个应用程序,我希望通过防止重新打包应用程序来保护它免受逆向工程的影响。 我做了proguard解决方案,但应用程序仍然被apktool反编译,我在Play商店看到了一个应用程序,我试图反/重新编译它,我注意到当我更改该应用程序的包名称时它崩溃了。 所以我想知道你是否知道他是怎么做到的
【问题讨论】:
在你的 gradle 中尝试 minifyEnabled=true @XH6user 我认为minifyEnabled
选项会缩小代码而不是混淆代码。
【参考方案1】:
将其发布为答案,因为它太长了无法发表评论。您无法 100% 混淆您的代码。你可以让它变得更难,但并非不可能。 Proguard 完成了这项工作,但这并不是完全的混淆。您可以使用 ProGuard 的商业版 DexGuard,通过增加难度使安全性更加严格。代码将被转换为 .smali 文件,但人们仍然可以查找和编辑您的代码。
如果 Proguard 不能满足您的要求,您可以用 C/C++ 编写您的重要代码。这是因为逆向工程 C/C++ 比 Java 字节码更难。
您还可以研究将代码的重要部分保存在服务器上的选项。这只会让代码远离用户的设备。
【讨论】:
以上是关于Apk 保护免受逆向工程 - 使用包名称? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 中使用 R8 和 Proguard 时如何保护数据模型类免受逆向工程的影响?