Access 2000 Password Recovery

R

rajarameshvarma

Hi....

I am trying to recover password of my access 2000 (.mdb) file. I need
the data very urgently but i forgot the password. I have tried some
softwares but none of them is giving morthan two characters.

and i have also tried using a logic in c#.net. But this also doesnt
work. logic is....

openFileDialog1.Title = "Select MS Access File to Reveal";
openFileDialog1.Filter = "MS Access Database (*.MDB)|*.MDB";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//Create a file stream from the selected file.
FileInfo fi=new FileInfo(openFileDialog1.FileName);
FileStream fs=fi.OpenRead();
//Read 200 bytes into an array from the specified file. We only
need the first few hundred bytes
int nBytes=200;
byte[] ByteArray=new byte[nBytes];
int nBytesRead=fs.Read(ByteArray, 0, nBytes);
fs.Close();

//find out which version of access the file is
string version = Convert.ToChar(ByteArray[156]).ToString() +
Convert.ToChar(ByteArray[157]).ToString() +
Convert.ToChar(ByteArray[158]).ToString();
string passwordEncypted = "";
byte[] bytLock; //this is our password from the file
byte[] bytKey; //this is the key to XOR against
int len; //length of the byte array

//if it's access 2000 or greater
if (version == "4.0")
{
bytKey = new byte[]
{0xE1,0xEC,0x3A,0x9C,0xA1,0x28,0x74,0x8A,0x33,0x7B,0x92,0xDF,0x10,0x13,0xA8,0xB1,0x53,0x79,0xF5,0x7C};
len = 20;
bytLock = new byte[20];
int p = 66;
int i = 0;
while (p < 105)
{
passwordEncypted = passwordEncypted +
Convert.ToChar(ByteArray[p]).ToString();
bytLock = ByteArray[p];
//bytLock = ByteArray;
p += 2; //lose every second character if it's version 4.0 (Access
2000)
i += 1;
}
}
else //it's access 97
{
bytKey = new byte[]
{0x86,0xFB,0xEC,0x37,0x5D,0x44,0x9C,0xFA,0xC6,0x5E,0x28,0xE6,0x13};
len = 13;
bytLock = new byte[13];
int p = 66;
int i = 0;
while (p < 79)
{
passwordEncypted = passwordEncypted +
Convert.ToChar(ByteArray[p]).ToString();
bytLock = ByteArray[p];
p += 1;
i += 1;
}
}

//check if there is a password set
if (System.Text.Encoding.ASCII.GetString(bytLock) ==
System.Text.Encoding.ASCII.GetString(bytKey))
MessageBox.Show("No password is set for this file.");
else
{
//xor the key and cipher together
byte[] key = new byte[len];
for (int i = 0; i < len; i++)
key =(byte)(bytLock ^ bytKey);
string plainText =
System.Text.Encoding.ASCII.GetString(key);
//if the password is less than 13 or 20 characters long, nulls are
added to the end
//to pad out the string. Strip these off to get the original
password
//int nullStart = plainText.IndexOf(((char)0).ToString());
plainText = plainText.Substring(0,20);

//plainText = plainText.Substring(0, 10);

MessageBox.Show(plainText);
but it is also not giving the correct password.

Can any one help me in this regard..

Thanks in advance
 
J

Jerry Whittle

If you google ACCESS PASSWORD CRACK you'll find a few companies will to crack
it for money.
--
Jerry Whittle, Microsoft Access MVP
Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder.

Hi....

I am trying to recover password of my access 2000 (.mdb) file. I need
the data very urgently but i forgot the password. I have tried some
softwares but none of them is giving morthan two characters.

and i have also tried using a logic in c#.net. But this also doesnt
work. logic is....

openFileDialog1.Title = "Select MS Access File to Reveal";
openFileDialog1.Filter = "MS Access Database (*.MDB)|*.MDB";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//Create a file stream from the selected file.
FileInfo fi=new FileInfo(openFileDialog1.FileName);
FileStream fs=fi.OpenRead();
//Read 200 bytes into an array from the specified file. We only
need the first few hundred bytes
int nBytes=200;
byte[] ByteArray=new byte[nBytes];
int nBytesRead=fs.Read(ByteArray, 0, nBytes);
fs.Close();

//find out which version of access the file is
string version = Convert.ToChar(ByteArray[156]).ToString() +
Convert.ToChar(ByteArray[157]).ToString() +
Convert.ToChar(ByteArray[158]).ToString();
string passwordEncypted = "";
byte[] bytLock; //this is our password from the file
byte[] bytKey; //this is the key to XOR against
int len; //length of the byte array

//if it's access 2000 or greater
if (version == "4.0")
{
bytKey = new byte[]
{0xE1,0xEC,0x3A,0x9C,0xA1,0x28,0x74,0x8A,0x33,0x7B,0x92,0xDF,0x10,0x13,0xA8,0xB1,0x53,0x79,0xF5,0x7C};
len = 20;
bytLock = new byte[20];
int p = 66;
int i = 0;
while (p < 105)
{
passwordEncypted = passwordEncypted +
Convert.ToChar(ByteArray[p]).ToString();
bytLock = ByteArray[p];
//bytLock = ByteArray;
p += 2; //lose every second character if it's version 4.0 (Access
2000)
i += 1;
}
}
else //it's access 97
{
bytKey = new byte[]
{0x86,0xFB,0xEC,0x37,0x5D,0x44,0x9C,0xFA,0xC6,0x5E,0x28,0xE6,0x13};
len = 13;
bytLock = new byte[13];
int p = 66;
int i = 0;
while (p < 79)
{
passwordEncypted = passwordEncypted +
Convert.ToChar(ByteArray[p]).ToString();
bytLock = ByteArray[p];
p += 1;
i += 1;
}
}

//check if there is a password set
if (System.Text.Encoding.ASCII.GetString(bytLock) ==
System.Text.Encoding.ASCII.GetString(bytKey))
MessageBox.Show("No password is set for this file.");
else
{
//xor the key and cipher together
byte[] key = new byte[len];
for (int i = 0; i < len; i++)
key =(byte)(bytLock ^ bytKey);
string plainText =
System.Text.Encoding.ASCII.GetString(key);
//if the password is less than 13 or 20 characters long, nulls are
added to the end
//to pad out the string. Strip these off to get the original
password
//int nullStart = plainText.IndexOf(((char)0).ToString());
plainText = plainText.Substring(0,20);

//plainText = plainText.Substring(0, 10);

MessageBox.Show(plainText);
but it is also not giving the correct password.

Can any one help me in this regard..

Thanks in advance
 
C

Charlie Hoffpauir

Hi....

I am trying to recover password of my access 2000 (.mdb) file. I need
the data very urgently but i forgot the password. I have tried some
softwares but none of them is giving morthan two characters.

Have you tried Password Studio Pro? I used it and was able to recover
an unknown Access password. The software claims that Access passwords
are relative easy to crack.... and that was the case with my database.

If your database is small enough to mail, I'd be happy to try to
recover the password for you. Of course, if the information is
confidential, you wouldn't want to do that. But if not, then you can
send a copy to my Yahoo address: charliehoffp at yahoo dot com.

Charlie Hoffpauir
http://freepages.genealogy.rootsweb.com/~charlieh/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top