2014-02-28 56 views
1

在开发人员询问如何保护隐藏在代码或资源中的字符串以防逆向工程时,存在很多问题。例如this,thisthis在应用程序中隐藏秘密字符串的技巧和窍门

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

E.g.分裂字符串,纯Java技巧,混淆,使用原生(C)代码的优势。

P.S.我知道我不能提供绝对的保护,但是我想尽可能地使检索安全信息变得困难。

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

+1

讨论(http://stackoverflow.com/a/20560574/730807)会给你一个安全存储的想法 –

回答

2

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

这里有一些模糊处理:

但最好的解决办法仍然没有存储在用户的设备上的敏感数据。

1

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

+0

你是什么意思关于“解码密钥从api的收到”?你能提供任何例子吗? AFAIK android没有密钥存储。 –

+0

你不应该在你的android应用上保存密钥,如果你使用的话,密钥应该由ws提供。 –

+0

“如果你使用一个”是主要问题。应用程序也应该在离线模式下工作,我必须提供没有ws的授权功能。无论如何,这是系统架构的问题。 –