从重新编译隐藏自己的Sqlite数据库

时间:2015-08-03 13:50:04

标签: android sqlite assets decompiler

我想编写一个使用现成信息的Android应用程序我使用来自Firefox的Sqlite管理器扩展并将其放入资产文件夹但是如果有人只是更改扩展名并使apk文件成为zip文件他可以轻松地将我的数据库放在什么位置在这种情况下最好的解决方案?

1 个答案:

答案 0 :(得分:2)

你得到的评论都是完全正确的。没有办法保证没有人可以获得该数据库的内容。

您可以通过加密数据库并将密钥隐藏在代码中的某个位置来加倍努力。这样做会使攻击者需要对代码进行反编译以找到密钥,以便他们可以对数据库进行解密。

更好的是,您可以将密钥放在某个网络服务器上。如果您这样做,您的用户必须联机才能使用该应用程序......并且攻击者必须欺骗您的应用并请求密钥来解密数据库。 ......但他们仍然可以做到。

这是DRM问题。几乎不可能为攻击者提供加密内容和密钥,并且仍然保护内容。