*** Updated on 10/18/99 --> See comments below ***
This is a handy little routine for retrieving
forgotten passwords out of Access97 and 2000.
Do not abuse this. This should be used only for
databases you originally had permissions to and
forgot the password.
Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come
out every day, so no prevention program can catch 100% of them. For your own safety, please:
Re-scan downloaded files using your personal virus checker before using it.
NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
Scan the source code with Minnow's Project Scanner
If you don't have a virus scanner, you can get one at many places on the net
Terms of Agreement:
By using this code, you agree to the following terms...
You may use
this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.
You may link to this code from another website, but ONLY if it is not wrapped in a frame.
You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.
I have just downloaded the code, haven't tried it yet; but I want say thank you very much, because I know this kind of code is not easy to find at all. (If this comment was disrespectful, please report it.)
Note: There is a problem with the Access2000 on some DB's. I will see if I can figure it out. It appears to modify the values on some db's and not others. If anyone else figures it out first let me know. Thanks. (If this comment was disrespectful, please report it.)
I fixed a problem with it not accurately returning 2000 passwords. If anyone finds any other problems let me know. Thank you Larry for pointing it out! (If this comment was disrespectful, please report it.)
Well guys it appears that I do not yet understand the Access2000 password scheme. I had 6 out of 6 mdb's working yesterday, but today I made a 7th and it does not return the correct password. So I will continue to investigate....If you would like to look at the problem too...please do and post whatever you find here. It appears that the xor string changes based on the day you create it, but I have not found the pattern or encoding scheme yet. I noted that there is 6 bytes that change in every file starting at pos 114, but it does not appear to correlate to the xor string since the xor string stays the same between multiple files created on the same day. Any ideas???
(If this comment was disrespectful, please report it.)
Sean, No it appears to be date based, since on the same machine it generates different values on different days. When and if I figure it out I will post it here. (If this comment was disrespectful, please report it.)
I fixed the access2000 password problem. not neat but works. brute force the 256 posables
For i = 0 To 255 For x = 1 To 40 If (x - 1) Mod 4 = 0 Then intChar = ch(x) Xor sec2(x) Xor i txtPass(1).Text = txtPass(1).Text & Chr(intChar) Else intChar = ch(x) Xor sec2(x) txtPass(1).Text = txtPass(1).Text & Chr(intChar) End If Next x 'test if password is correct 'opendatafile(password,filepath) If opendatafile(txtPass(1).Text, txtFileName.Text) = True Then Label1.Visible = False Exit Sub Else txtPass(1).Text = "" End If Next i (If this comment was disrespectful, please report it.)
Access 2000 key is alot different than 97. The key IS date based on the database creation date. Every 8th day is a rotating key that has 32 keys. That means that the key repeats every (32 * 8)=256 days. Starting with byte 67 every other byte makes up the key. every fourth byte is a rotating key. The key is created in eight day chunks. The outter key takes one on the inner keys and adds values to it to create 8 days worth of keys. the inner key is repeating every 32 times. So the Access 2k key repeats every (32 * 8)-256 days. You can either create two keys or one key that repeats every 256 kays. I will publish my version of the program as soon as I can. RL (If this comment was disrespectful, please report it.)
A Note to Wes: Dan isn't claiming to have written it. In fact, he explicity states he obtained the original source from usenet and translated it to VB. I myself have C source for this but never ported it. Can't even remember where I got mine from. I also notce that the two codes don't match up very well. Code from trigeminal's site does a 1 to 19 for:next loop on the Xor, and Dan's only does a 1 to 17.
What's the difference here?
(If this comment was disrespectful, please report it.)
have done many password crackers including word97 and word2000 but did not have this one. thanx for the code. will fix it and repost it if needed soon. (If this comment was disrespectful, please report it.)
MS Word read only passwords can be instantly recovered if you open the file in a hex editor. The password is stored in clear text format near the word file information.
As for Word 97/2000 password protected files. The passwords aren't stored in the file. It just encrypts the whole file using some very powerful encryption schemes. It's not that easy to crack ... altho you could pay $100 to get one of those programs to crack it. But who cares? (If this comment was disrespectful, please report it.)
The password section is great. Is there any code to crack the permissions in access databases, I have an old CD with data on it that I want to import and update (If this comment was disrespectful, please report it.)
The password finder is great, now I need code to crack the permissions in Access. I have an old CD with lots of data on it that I want to import and update. Currently it is read only through it's own (very poor) front end (If this comment was disrespectful, please report it.)
can anyone tell me how to find where it stores my passwords for multiple programs? or like when i join a site like neopets(virtual pet) and i give it my password, where can I find it on my computer? i had one program but it didnt tell you how and it had a list of all my passwords! i want to make one of those that email the passwords to an address while connected to the net. (If this comment was disrespectful, please report it.)
Hi, Could please do let me know how to fix this code for extracting out the Access 200 password. Presently , I am getting a wrong Password. I tried the ways given here,in vain. (If this comment was disrespectful, please report it.)
Someone seems to have uploaded a second version of their own code that fixes the problem your program is reported to suffer from.
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=53461&l ngWId=1 (If this comment was disrespectful, please report it.)
Add Your Feedback
Your feedback will be posted below and an email sent to
the author. Please remember that the author was kind enough to
share this with you, so any criticisms must be stated politely, or they
will be deleted. (For feedback not related to this particular code, please
click here instead.)