gpt4 book ai didi

android - 如何保护/检测 Android 设备上的数据库还原?

转载 作者:太空狗 更新时间:2023-10-29 13:29:29 27 4
gpt4 key购买 nike

我有一个适用于 Android 的应用程序,它以一种常见的方式将数据保存到 sqlite 数据库中。当用户使用应用程序时,数据会发生变化等。到目前为止没有问题...

但是当用户使用某些备份软件(如Titanium Backup 或其他)时,对应用程序进行备份,他可以将数据恢复到旧状态。我需要保护应用程序不受此影响或检测恢复并处理它的方法。

简单的工作流程:

  1. 安装APP
  2. 使用 APP
  3. APP数据库达到STATE1
  4. 备份应用程序(使用任何备份/恢复应用程序,设备可以被root)
  5. 使用APP
  6. APP数据库达到STATE2
  7. 将 APP(或仅数据)恢复到 STATE1 - 这是我需要在下次执行 APP 时拒绝或检测的点。

到目前为止,我一直在玩访问时间检测和比较,但通过不同的设备和 ROM,它似乎真的不可靠。

谢谢。

最佳答案

为此,您需要在设备外保存一些状态,或者至少在 data 目录之外。最简单的方法可能是将数据库文件的指纹保存在外部存储(SD 卡)上的某个“隐藏”目录中。或者,如果您的应用程序具有 Web 登录等功能,请为每个用户存储指纹。

在任何情况下,用户都可以完全控制设备,因此您无法 100% 阻止这种情况。您的应用需要优雅地处理数据库中的任何更改,或者在检测到致命的不一致时干脆失败。

关于android - 如何保护/检测 Android 设备上的数据库还原?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17400477/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com