<分区>
我有一个与 Android 开发中的数据安全相关的问题。现在我在一个应用程序中工作,我需要在 Assets 文件夹中保留现有数据库,以便应用程序可以将其复制到内部可写位置,以避免在首次安装期间从服务器下载大型数据库。但不幸的是,使用 APK 反编译工具可以查看 Assets 文件夹中包含此数据库文件的文件。有没有办法防止我的 Assets 文件被反编译,以便在我的应用程序中确保数据安全。任何帮助将不胜感激。谢谢。
<分区>
我有一个与 Android 开发中的数据安全相关的问题。现在我在一个应用程序中工作,我需要在 Assets 文件夹中保留现有数据库,以便应用程序可以将其复制到内部可写位置,以避免在首次安装期间从服务器下载大型数据库。但不幸的是,使用 APK 反编译工具可以查看 Assets 文件夹中包含此数据库文件的文件。有没有办法防止我的 Assets 文件被反编译,以便在我的应用程序中确保数据安全。任何帮助将不胜感激。谢谢。
最佳答案
简单的答案是否定的。尽管您可以通过使用一些“加密”方案使它变得更难,但总会有一些潜在的黑客可以实现的技巧,这意味着您可以使用一些特殊的 key 加密您的数据,然后使用 key
你可以编码
和解码
你的数据,所以更好的地方来保持更安全的是native libs
意味着你使用native
( c,c++) 代码应包含您的敏感数据并生成 libs
,通过这样做您将添加另一层加密,因为 native 库的逆向工程 native 形式非常难以阅读。
关于java - 如何防止 APK 中的 Assets 文件被逆向工程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38989274/
相关文章:
java - 如何在 Java FileOutputStream 中写入新行
java - 检查android手机存储中是否存在已知文档Uri
database - Postgres Materialize 导致删除查询性能不佳
php - 如何在一个 View 中显示两个模型值并通过一个 Controller 更新两个模型值
java - 我无法让 Android 搜索界面在操作栏中工作
java - 在 DirectByteBuffer 中存储 Big Hashmap 的方法
Android startActivityForResult、setResult、onActivityResult 未调用