【发布时间】:2019-02-07 11:02:07
【问题描述】:
对应用程序进行逆向工程的人能否轻松/自动将 getString(R....) 调用替换为 Strings.xml 中存储的相应字符串值?我很确定答案是肯定的,考虑到即使 Android Studio 也会通过 getString(R...) 调用暗示 Strings.xml 的内容。
我问的原因是我想知道在 xml 资源文件中存储具有随机名称的字符串是否比简单地将它们硬编码在代码中提供任何“安全”优势。我知道使用 Strings.xml 可以翻译我不感兴趣的等。
该应用程序是完全独立的,不会从服务器获取数据,因此我无法在客户端之外隐藏任何内容。
即使我的代码被混淆了,我也不希望通过允许某人简单地阅读整个代码(或链接到 Strings.xml)的消息而泄露太多的逻辑和上下文。
我知道要阻止一个坚定的人对应用程序进行逆向工程是不可能的,但如果我可以做一些简单的事情来降低它的吸引力,我会全力以赴。
谢谢!
【问题讨论】: