我正在搜索mdb(Access)数据库结构的大量时间,但我还没有找到任何关于密码恢复的信息。
我知道Access 2000 mdb文件有类似页面,每页4kB,每个页面都有一个类型,第一页是“数据库定义页面”,包含(可能)加密数据库密码。
有很多软件能够读取MS Access数据库密码,所以我认为存储密码并不是秘密。
在哪里/如何找到访问密码?
答案 0 :(得分:8)
Jet 3:数据库密码设置后,将作为纯文本存储在MDB文件头中。
Jet 4:数据库密码在设置时,会根据文件创建日期/时间(存储在文件中)使用简单的XOR模式算法进行模糊处理,然后存储在MDB文件中报头中。
Jet 3 AND 4: MDB文件头本身进一步使用XOR模式进行模糊处理 - 尽管这次是一个常量的XOR流。
ACCDB文件:密码不再存储为文件标题中的模糊明文。相反,哈希用于检查用户是否输入了有效密码。哈希是从RC4和SHA-1算法的组合生成的。
答案 1 :(得分:1)
我的问题是ULS限制了对.mdb的访问。
这个codeproject链接允许我在.NET中读取数据库:http://www.codeproject.com/Articles/283626/MsAccess-MdbTools-with-MFC-and-NET
答案 2 :(得分:0)
根据下面提到的网页,这些工具实际上并没有从MDB文件中查找密码,而是使用可能的密码列表轰炸数据库,直到成功为止。
来自网页的引用:
这些软件采用暴力攻击技术准确,准确地恢复丢失的密码。他们维护一个动态字典,存储所有恢复的密码。他们通过搜索此字典然后应用强力技术来恢复访问密码。这有助于大大减少密码恢复时间。