Solved

Passward Problem I Need Help Bad !!!!!!!

Posted on 2002-06-19
8
325 Views
Last Modified: 2008-03-06
NEED HELP BAD !!!!!
Two Questions

I have a mdb file that I have password protected now I cannot remember the password, nor find where I put the password I wrote down.
1-Is there any way of getting past this password to reopen my access database in design view ?
2-Is there software availiable for this ?
0
Comment
Question by:mrwebmaster
8 Comments
 
LVL 4

Accepted Solution

by:
Nevaar earned 400 total points
ID: 7093864
0
 
LVL 14

Expert Comment

by:mgrattan
ID: 7093964
If this is a database password (and not a user/group password) you can crack the password from another Access database by copying/pasting and running a simple vba function.  Is that what you need?
0
 
LVL 14

Expert Comment

by:mgrattan
ID: 7093976
Here's the function you need if the password is only on the database:

'--------------------------------------------------
'   basDatabasePassword
'
'   Get the database password of a Jet 3.0/3.5 database.
'
'   --------------------------
'   This code is provided for the express purpose of destroying the burgeoning
'   shareware industry of Jet 3.x/3.5x database password crackers. You should
'   keep in mind that it is still quite illegal to break into a database you have
'   no authorization to view. Please don't do anything that would cause me to
'   have less respect for you than for the lifeless souls who try to charge money
'   for code of this nature on a "per database" basis.
'
'   TO USE:
'   1) Create a new module in any VBA host like Access, Excel, or Visual Basic
'   2) Hit <Ctrl+G> to get to the debug window
'   3) Run the following line of code in the debug window (replacing c:\foo.mdb with
'           the full path/name to your database:
'
'               ? StPasswordOfStDatabase("c:\foo.mdb")
'
'   The function will return the Database Password to you.
'
'   --------------------------
'   Sample code to allow you to prove to yourself that the function
'   works (the following code can be run from the debug window).
'   Change the password from 01234567890123456789 to any
'   arbitrary value 1-20 characters in length:
'
'   Set dbe = CreateObject("dao.dbengine.35")
'   Set db = dbe.CreateDatabase("c:\temp35.mdb", ";LANGID=0x0409;CP=1252;COUNTRY=0")
'   db.NewPassword "", "01234567890123456789"
'   db.Close: Set db = Nothing: Set dbe = Nothing
'   Debug.Print StPasswordOfStDatabase("c:\temp35.mdb")
'   --------------------------
'
'   (c) 1998 Trigeminal Software, Inc. All Rights Reserved
'--------------------------------------------------
Option Compare Binary
Option Explicit

Public Function StPasswordOfStDatabase(stDatabase As String) As String
    Dim hFile As Integer
    Dim ich As Integer
    Dim stBuffer As String
    Dim rgbytRaw() As Byte
    Dim rgbytPassword() As Byte
    Dim rgbytNoPassword() As Byte
   
    ' Create the byte array with the 20 bytes that are present when there
    ' is no database password
    rgbytNoPassword = ChrB(134) & ChrB(251) & ChrB(236) & ChrB(55) & ChrB(93) & _
                                ChrB(68) & ChrB(156) & ChrB(250) & ChrB(198) & ChrB(94) & _
                                ChrB(40) & ChrB(230) & ChrB(19) & ChrB(182) & ChrB(138) & _
                                ChrB(96) & ChrB(84) & ChrB(148) & ChrB(123) & ChrB(54)
                               
    ' Grab the 20 bytes from the real file whose password
    ' we are supposed to retrieve
    hFile = FreeFile
    Open stDatabase For Binary As #hFile
    Seek #hFile, 66 + 1
    rgbytRaw = InputB(20, #hFile)
    Close #hFile
   
    ' Enough prep, lets get the password now.
    ReDim rgbytPassword(0 To 19)
    For ich = 0 To 19
        rgbytPassword(ich) = rgbytRaw(ich) Xor rgbytNoPassword(ich)
    Next ich

    ' Add a trailing Null so one will always be found, even if the password is 20
    ' characters. Then grab up to the first null we find and return the password
    stBuffer = StrConv(rgbytPassword, vbUnicode) & vbNullChar
    StPasswordOfStDatabase = Left$(stBuffer, InStr(1, stBuffer, vbNullChar, vbBinaryCompare) - 1)
End Function


0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
LVL 4

Expert Comment

by:archery
ID: 7094346
I have exactly the same code as posted by MGrattan as a "standard" module (couldn't remmeber where it came from but obviously is put to good use.

I do also have a very small (zipped) executable which you can run and nominate the database to "crack". Picked it up somewhere on the web some time ago. (The displayed textbox may NOT be big enough to display the complete password so scroll through it.

I could email it to you if you like (email address in profile)
0
 

Author Comment

by:mrwebmaster
ID: 7105216
mgrattan

I have tried running your code from the debug window in MS Access using, ? StPasswordOfStDatabase("c:\foo.mdb")
but substuting the path with the real one and I only get a beep. This had originalley had security level passwards set up in it.
What Next ? I am really stuck.
And yes this is my database I made a long time ago, My backup copy was distroied when I had to reformat my drive.



0
 
LVL 14

Expert Comment

by:mgrattan
ID: 7105360
Well, a "security level password" indicates that you had group/user level security which is different than a "database password".  The VBA function I provided is only for deciphering a database password.  

I think if you check out lostpassword.com, as suggested by Nevaar, you will find a utility that will crack the password on a secured database.  I believe there is a trial version that will give you the first three letters of the password for a particular user.
0
 
LVL 14

Expert Comment

by:mgrattan
ID: 7115028
One more thing; if you have Microsoft Visual Studio it comes with a tool that is used for version control.  You can "check in" your Access database to the version control program and then check it out again; this will usually strip the security for you....
0
 
LVL 14

Expert Comment

by:mgrattan
ID: 7125403
mrwebmaster,

Do you need any further assistance?  Please let us know how things are going with this issue.

Mike.
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
Phishing attempts can come in all forms, shapes and sizes. No matter how familiar you think you are with them, always remember to take extra precaution when opening an email with attachments or links.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question