Access mdb password recovery
ms-access
Solution
Jet 3: The database password, when set, is stored as plain text in the MDB file header.
Jet 4: The database password, when set, is obfuscated with a simple XOR pattern algorithm based on the file creation date/time (stored inside the file) which is then stored in the MDB file header.
Jet 3 AND 4: The MDB file header itself is further obfuscated with an XOR pattern – although its a constant XOR stream this time.
ACCDB Files: The password is no longer stored as obfuscated plain text in the file header. Instead, a hash is used to check that the user has entered the valid password. The hash is generated from a combination of RC4 and SHA-1 algorithms.
Problem
I was searching a lot of time for definition of the mdb (Access) database structure, but I haven't found anything about password recovery. I know that Access 2000 mdb file has sth like pages, 4kB for every page, every page has a type and the first page is a "Database definition page" containing (probably) a encrypted database password. There is a lot of software able to read MS Access db password, so I think it is not secret where the password is stored. Where/how can the Access password be found?