首页 > 解决方案 > 在 Strings.xml 与代码中存储字符串是否会使逆向工程变得更加乏味?

问题描述

对应用程序进行逆向工程的人可以轻松/自动将 getString(R....) 调用替换为 Strings.xml 中存储的相应字符串值吗?我很确定答案是肯定的,考虑到即使 Android Studio 也会通过 getString(R...) 调用暗示 Strings.xml 的内容。

我问的原因是我想知道在 xml 资源文件中存储具有随机名称的字符串是否比简单地将它们硬编码在代码中提供任何“安全”优势。我知道使用 Strings.xml 可以翻译我不感兴趣的等。

该应用程序是完全独立的,不会从服务器获取数据,因此我无法在客户端之外隐藏任何内容。

即使我的代码被混淆了,我也不想通过允许某人简单地阅读整个代码(或链接到 Strings.xml)的消息而放弃太多的逻辑和上下文。

我知道要阻止一个坚定的人对应用程序进行逆向工程是不可能的,但如果我可以做一些简单的事情来降低它的吸引力,我会全力以赴。

谢谢!

标签: androidxmlstring

解决方案


不,它没有。隐藏字符串的可靠方法之一是编码和解码。这里解释得很好。


推荐阅读