Android 保护清单和布局免受逆向工程

Posted

技术标签:

【中文标题】Android 保护清单和布局免受逆向工程【英文标题】:Android protect the manifest and layout from reverse engineering 【发布时间】:2016-12-15 07:51:25 【问题描述】:

我一直在研究如何防止人们访问清单和布局文件。

我知道 proguard 用于混淆代码,但它仅适用于 Java 代码,不适用于 res 文件夹。

我已经解决了一些问题,例如在运行时下载内容,而不是将它们保存在资产中等等。但现在我关心的不是保护资产文件。就我而言,它是清单和我需要处理的 res 文件夹。我在其中存储了多种类型的密钥,例如分析 xml 文件 app_tracker.xml

这不仅仅是关于我在 xml 文件中的密钥,还有面临风险的布局设计逻辑。

这些是我在研究时发现的线索,但对我没有任何帮助。

1) How to avoid reverse engineering of an APK file?

2) How to protect a java application from reverse-engineering or code stealing?

我知道逆向工程是不可避免的,但有什么方法可以保护我的清单不被黑客读取?

【问题讨论】:

但是有什么办法可以保护我的清单不被黑客读取 是的...不要发布应用程序/源代码 太棒了!你解决这个问题的方法是闭上眼睛,认为一切都很好。 不...你确实闭上了眼睛...apk格式定义明确(或多或少zip)apk中的清单格式定义明确(axml-binary xml)...很明显,只有不发布apk才是方式 【参考方案1】:

您可以查看DexGuard,它是 ProGuard 的商业变体。它还允许您加密布局文件并混淆清单和其他资源文件的内容(以及许多其他东西)。

【讨论】:

【参考方案2】:

如果手机可以解析清单以安装应用程序,那么用户也可以解析清单。就这么简单。

顺便说一句,混淆不会阻止人们看到您的应用程序中的内容 - 它只会给您一种虚假的安全感。您的应用的安全模型应假定 apk 中包含的任何内容都是公共知识。

【讨论】:

很遗憾,这很糟糕,如果我在开发应用程序并发布它时不眠之夜,然后有人反编译它,更改布局,进行一些其他更改并上传它。太可怕了。

以上是关于Android 保护清单和布局免受逆向工程的主要内容,如果未能解决你的问题,请参考以下文章

如何保护 Android 代码免受逆向工程? [复制]

真的不可能保护 Android 应用免受逆向工程吗?

在 Android 中使用 R8 和 Proguard 时如何保护数据模型类免受逆向工程的影响?

无法在eclipse中保护代码免受逆向工程

保护字符串常量免受逆向工程

保护字符串常量免受逆向工程