【问题标题】:Tips and tricks to hide secret string within application在应用程序中隐藏秘密字符串的提示和技巧
【发布时间】:2014-04-01 04:24:24
【问题描述】:

有很多关于 SO 的问题,其中开发人员询问如何保护放置在代码或资源中的秘密字符串免受逆向工程的影响。例如thisthisthis

我想找出隐藏此类信息的最佳做法(例如“Hello,secure world!”字符串)。目标是以某种方式处理它并将其包含到应用程序中。

例如拆分字符串、纯 Java 中的技巧、混淆、使用本机 (C) 代码的优势。

附:我知道我无法提供绝对的保护,但我想让检索安全信息变得尽可能困难。

P.P.S 当然,保密数据的最佳方法不是将它们存储在设备上,而是使用协商的令牌作为Reto Meier wrote 提供访问权限。是关于授权的。

【问题讨论】:

标签: android security


【解决方案1】:

一些代码混淆器可以对源代码中的字符串进行加密,以防止有人试图对您的应用进行逆向工程时读取它们。

这里有一些混淆器:

但最好的解决方案仍然是不要在用户的设备上存储敏感数据。

【讨论】:

    【解决方案2】:

    您可以尝试使用从 api 接收到的解码密钥对字符串进行编码。

    【讨论】:

    • “从 api 接收到的解码密钥”是什么意思?你能提供任何例子吗? AFAIK android 没有密钥存储。
    • 您不应该将密钥保存在您的android应用程序中,如果您使用密钥应该由ws提供。
    • “如果你使用一个”是主要问题。应用程序也应该在离线模式下工作,我必须提供没有 ws 的授权功能。无论如何,这是系统架构问题。
    • 是的,对于需要 Web 服务登录或类似的应用程序来说,这确实可能是一个选项。
    猜你喜欢
    • 2011-02-17
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多