如您所知,我们可以在生根后访问 android 设备上的任何文件夹。我的应用程序有一个数据库和其他一些二进制文件。我知道我无法阻止用户查看我的文件和数据库。但是有什么办法可以防止用户将其复制到其他安卓设备上进行非法使用吗?
最佳答案
一种选择是加密存储在数据库中的数据。通常它以明文形式存储。 SQLCipher ,我相信也适用于 Android ..
从 Android/谷歌 official forums ,
如果您想阻止(路由访问),唯一的选择是对其进行加密。不管需要多长时间。
编辑:
我要说的是,它从来都不是完全安全的。你可以让黑客变得同样困难。您可以将解密 key (仅)保存在服务器中(如果从服务器下载整个数据很耗时),但是应用程序需要网络连接才能工作。您可以将 key 保存在一个隐藏文件中(文件名以 . 开头),但是了解 linux 类型文件系统的 root 用户可以找到它们。或者,您可以按照 Teovald 在对此答案的评论中的建议进行操作,方法是使用来自任何常量(如 IMEI 号码)的任何哈希算法在运行时生成 key ,但它也需要一些处理。您尝试保护它的次数越多,使用它所需的工作就越多。所以这是一个50-50种情况,决定应该取决于一个人的要求。
关于android - 如何防止黑客在 android 上访问我的应用程序的数据库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13120125/