【问题标题】:Access mdb password recovery访问mdb密码恢复
【发布时间】:2023-04-07 12:40:02
【问题描述】:

我花了很多时间寻找 mdb (Access) 数据库结构的定义,但我没有找到有关密码恢复的任何信息。

我知道 Access 2000 mdb 文件有类似页面,每个页面 4kB,每个页面都有一个类型,第一页是“数据库定义页面”,其中包含(可能)加密数据库密码。

有很多软件可以读取MS Access db密码,所以我认为密码存储在哪里并不是秘密。

在哪里/如何找到访问密码?

【问题讨论】:

标签: ms-access


【解决方案1】:

Jet 3:数据库密码在设置后以纯文本形式存储在 MDB 文件头中。

Jet 4: 数据库密码在设置后会使用基于文件创建日期/时间(存储在文件中)的简单 XOR 模式算法进行混淆,然后将其存储在 MDB 文件中标题。

Jet 3 AND 4: MDB 文件头本身被 XOR 模式进一步混淆——尽管这次它是一个恒定的 XOR 流。

ACCDB 文件: 密码不再以经过混淆的纯文本形式存储在文件头中。相反,哈希用于检查用户是否输入了有效密码。哈希是由 RC4 和 SHA-1 算法的组合生成的。

【讨论】:

  • 非常有趣,但我仍然没有找到关于标题的规范。密码存储在哪个部分(索引、长度等)。没有可用的源代码。
  • @daftu - 这是您发布的死链接。你能修好它吗。我很想看看。
  • 链接失效了。
【解决方案2】:

我的问题是 ULS 限制了对 .mdb 的访问。

此代码项目链接允许我在 .NET 中读取数据库:http://www.codeproject.com/Articles/283626/MsAccess-MdbTools-with-MFC-and-NET

【讨论】:

    【解决方案3】:

    根据下面提到的网页,这些工具实际上并没有从 MDB 文件中查找密码,而是用可能的密码列表轰炸数据库,直到成功。

    引自网页:

    这些软件采用暴力破解技术来准确准确地恢复丢失的密码。他们维护一个动态字典,其中存储所有恢复的密码。他们通过搜索此字典然后应用蛮力技术来恢复访问密码。这有助于大大减少密码恢复时间。

    Click here for the full page

    【讨论】:

    • 你错了。我测试过的每个软件都在大约 1 毫秒内恢复了非常复杂的密码,因此无法使用蛮力方法。我确定密码存储在 mdb 文件的某些部分并且易于阅读。
    • 好吧,网页很可能是错误的,但我并没有说我同意……
    猜你喜欢
    • 2017-03-11
    • 2021-08-21
    • 1970-01-01
    • 2011-06-13
    • 2010-11-30
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    相关资源
    最近更新 更多