Mega Code Archive

 
Categories / Delphi / ADO Database
 

Microsoft Access 97 password

Title: Microsoft Access '97 password Question: Did you loose your password? Answer: {----------------------------------------------------------------------} Procedure GetMDB97PassWord; Const XorArr : Array[0..12] of Byte = ($86,$FB,$EC,$37,$5D,$44,$9C,$FA,$C6,$5E,$28,$E6,$13); Var I : Integer; S1 : String; FI : File of Byte; By : Byte; Access97 : Boolean; FileError : Boolean; Begin // Init FileError := False; Access97 := True; // Open *.mbd file AssignFile(FI,Filename); Reset(FI); // Read file I := 0; Repeat If not Eof(FI) then Begin Read(FI,By); Inc(I); End; Until (I = $42) or Eof(FI); If Eof(FI) then FileError := True; // Read password string S1 := ''; For I := 0 to 12 do If not Eof(FI) then Begin Read(f,By); S1 := S1 + Chr(By); End; If Eof(FI) then FileError := True; //Close file CloseFile(FI); // Is nul string? If S1 = #0 + #0 + #0 + #0 + #0 + #0 + #0 + #0 + #0 + #0 + #0 + #0 + #0 then Access97 := False; // Decode string For I := 0 to 12 do S1[I + 1] := Chr(Ord(S[I + 1]) xor XORArr[I]); // Find end of string I := Pos(#0,S1); If I = 1 then S1 := ''; If I 1 then S1 := Copy(S1,1,I); If Access97 then Begin If Length(S1) 0 then ShowMessage := ('The password is: "' + S1 + '".') else ShowMessage ('The file is NOT password protected.'); End else ShowMessage('The file is not an Access 97 file.'); If FileError then ShowMessage('File error'); End; {----------------------------------------------------------------------}