Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Shaun E on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Access 97 mdw security

Status
Not open for further replies.

brandondaly

IS-IT--Management
Jan 9, 2002
194
GB
I have a database that my company wrote serveral years ago and they wish to move to another domain, and I need to reprogramme the hard coded paths. Unfortunately nobody knows the administrator logon that is contained within the mdw security system.

Are there any programs or procedures that can obtain the password, or a method that will allow me to replace the mdw file associated with the database?


Many thanks.
Brand.
 
Here is a function that returns the DB password.

Attribute VB_Name = "basDatabasePassword"
'--------------------------------------------------
' 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(&quot;c:\foo.mdb&quot;)
'
' 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(&quot;dao.dbengine.35&quot;)
' Set db = dbe.CreateDatabase(&quot;c:\temp35.mdb&quot;, &quot;;LANGID=0x0409;CP=1252;COUNTRY=0&quot;)
' db.NewPassword &quot;&quot;, &quot;01234567890123456789&quot;
' db.Close: Set db = Nothing: Set dbe = Nothing
' Debug.Print StPasswordOfStDatabase(&quot;c:\temp35.mdb&quot;)
' --------------------------
'
' (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
 
Will this work for passwords contained with a .mdw security file?


Cheers,
Brandon.
 
lostpassword.com provide a program which does what I require. I'll try to obtain that.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top