【问题标题】:How to get a database file from apk file?如何从apk文件中获取数据库文件?
【发布时间】:2014-05-06 13:01:57
【问题描述】:

我有一个 android 应用程序 apk 文件。我想从apk文件打开一个数据库文件:有没有官方工具可以从apk文件打开一个数据库文件?

通过使用提取器,我提取了该 apk 文件。最后我得到了一些文件,即assetsbinlibres 文件夹,但我找不到数据库文件和布局文件。

我搜索了下面给出的路径:

资产->数据

但我没有在 assets 文件夹 中找到 data 文件夹。为什么?

【问题讨论】:

  • 可能数据库不存在。很可能它是在应用程序中生成然后填充的。或者已经下载了。您应该在 sd 卡上的其他文件夹中查找它,也许...
  • 不不,我问的是,例如我们正在使用 wts up,我们聊天或其他任何事情。然后我们提取我们不能得到一个数据库文件???
  • WhatsApp 自己生成数据库,就像大多数应用程序一样。在这种情况下,它也是加密的,以保护隐私。

标签: android database sqlite apk


【解决方案1】:

实际使用的数据库不存储在 APK 中。它需要位于可写位置。通常它位于应用程序数据目录下的databases 中,例如/data/data/package.name/databases.

许多应用程序在代码中动态生成其数据库。一些应用程序在资产中附带了一个预填充的数据库,但即使它们也需要在使用前将其复制到可写位置。

【讨论】:

  • 例如我们正在使用 wts up,我们聊天或任何事情。然后我们提取我们不能得到一个数据库文件???
  • 一般你不应该阅读其他应用的数据库。有操作系统级别的保护措施可以防止您这样做 - 您需要 root 或执行不佳的应用程序,并且数据库文件模式过于宽松。此外,在 Stack Overflow 上,逆向工程应用程序有点离题——我们更感兴趣的是构建新应用程序,而不是在这里逆向现有应用程序。
【解决方案2】:

在某些情况下,开发人员可能已经从 ms excel sheet/textfile/sqllite 加载了数据。所以如果是这样的话,文件将在 res/raw 文件夹

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 2011-05-01
    • 2013-06-09
    • 2019-08-05
    • 1970-01-01
    相关资源
    最近更新 更多