Swa*_*nil 3 android reverse-engineering properties proguard
我正在开发与安全数据通信相关的 Android 应用程序。我在我的应用程序中使用了一些常量值,并将它们保存在 constant.java 类中。我不希望这些值被逆向工程,但即使我使用 ProGuard for Android,对于专家来说,逆向代码也很容易。这些常量是非常安全的。我可以使用属性文件或 res 文件夹中的任何文件,但这种方法根本不安全。
谁能告诉我如何进行?是否有任何文件格式可以保存我的常量或防止属性文件被逆向工程。是否有任何选项,例如将其保存为 .py python 文件格式并从 Android 代码中读取它?
将秘密常量安全地存储在设备上从根本上是不可能的,因为黑客可以通过静态和动态分析对它们进行逆向工程。你只能通过混淆这些值来让它更难一点:
你可能会从我的演讲和Scott Alexander-Bown在伦敦 Droidcon的演讲中得到一些可以应用的想法。
您还可以使用商业混淆器,如 ProGuard 的扩展版本DexGuard,通过字符串加密和类加密等技术为您强化代码。
保护的有效性取决于您可以投入的时间和精力、产品的价值、黑客愿意花费的时间和精力、他们的专业知识等。
类似问题:在 Android 中存储私有 API 密钥的最佳实践
(我是 ProGuard 和 DexGuard 的开发者)
| 归档时间: |
|
| 查看次数: |
2645 次 |
| 最近记录: |