AccesS密碼的打擊 (轉)

gugu99發表於2007-12-29
AccesS密碼的打擊 (轉)[@more@]

 

type
  TForm1 = class(TForm)
  Button1: TButton;
  Chk2000: TCheckBox;
  Edit1: TEdit;
  Button2: TButton;
  Edit2: TEdit;
  OpenDialog1: TOpenDialog;
  Button3: TButton;
  Label1: TLabel;
  procedure Button1Click(Sender: T);
  procedure Button2Click(Sender: TObject);
  procedure Button3Click(Sender: TObject);
  procedure Edit2KeyPress(Sender: TObject; var Key: Char);
  private
  procedure WMDropFiles(var Msssage: TMessage); message WM_DROPFILES ;
  { Private declarations }
  public
  { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

CONST
  xorString:array[0..12]of byte=
  ( $86, $FB, $EC, $37,
  $5D, $44, $9C, $FA,
  $C6, $5E, $28, $E6,$13 );
  xorString2:array[0..20]of byte=
  ( $D3, $EC, $08, $9C,
  $93, $28, $46, $8A,
  $01, $7B, $A0, $DF,
  $22, $13, $9A, $B1,
  $61, $79, $C7, $7C,$5B);

procedure TForm1.WMDropFiles(var Msssage: TMessage);
begin
  ShowMessage('Hello Boy');
end;
procedure TForm1.Button1Click(Sender: TObject);


VAR
passBuff: array[0..14]of byte;
pass: array[0..14]of char;
passBuff2: array[0..40]of byte;
pass2: array[0..20]of char;
B: Byte;
F:TFileStream;
I,j:integer;

begin
  (Char($86)+ Char($F8)+Char($EC))
  if not FileExists(Edit1.Text) then
  begin
  MessageBox(Handle,'你是MM呀','我好種意你呀',MB_OK + MB_ICONINFORMATION);
  exit;
  END;
  F :=  TFileStream.Create(Edit1.text,fmOpenRead);
  if not Chk2000.Checked then
  begin
  Try
  F.Seek($42,soFromBeginning);
  F.Read(PassBuff,14);
  for i := 0 to 13 do
  begin
  B := PassBuff[i] XOR xorString[i];
  Pass[i] := Char(B);
  end;
  pass[Sizeof(Pass)-1] := #0;
  Edit2.Text := StrPas(Pass);
  finally
  f.Free;
  end;
  end
  else
  begin
  try
  F.Seek($42,soFromBeginning);
  F.Read(passBuff2,40);
  I:=0;j:=0;
  while I<40 do
  begin
  B := passBuff2[i] xor xorString2[j];
  pass2[j]:=char(B);
  inc(i,2);inc(j);
  end;
  pass2[sizeof(pass2) - 1] := #0;
  Edit2.Text:=StrPas(Pass2);
  finally
  f.Free;
  end;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  Edit1.text := OpenDialog1.FileName;
end;

 


procedure TForm1.Button3Click(Sender: TObject);
VAR
passBuff: array[0..14]of byte;
pass: array[0..14]of char;
passBuff2: array[0..40]of byte;
pass2: array[0..20]of char;
B: Byte;
F:TFileStream;
I,j:integer;
s: string;
begin
  (Char($86)+ Char($F8)+Char($EC))
  if not FileExists(Edit1.Text) then
  begin
  MessageBox(Handle,'你是MM呀','我好種意你呀',MB_OK + MB_ICONINFORMATION);
  exit;
  END;
  F :=  TFileStream.Create(Edit1.text,fmOpenWrite);
  if not Chk2000.Checked then
  begin
  Try
  FillChar(Pass,14,#0);
  s := EdIt2.Text;
  StrCopy(@Pass,Pchar(Trim(s)));
  for i := 0 to 13 do
  begin
  B := Byte(Pass[i]);
  PassBuff[i] := xorString[i] xor B;
  end;
  PassBuff[13] := $B6;
  F.Seek($42,soFromBeginning);
  F.Write(PassBuff,14);
  finally
  f.Free;
  end;
  end
  else
  begin
  try
  F.Seek($42,soFromBeginning);
  F.Read(passBuff2,40);
  I:=0;j:=0;
  while I<40 do
  begin
  B := passBuff2[i] xor xorString2[j];
  pass2[j]:=char(B);
  inc(i,2);inc(j);
  end;
  pass2[sizeof(pass2) - 1] := #0;
  Edit2.Text:=StrPas(Pass2);
  finally
  f.Free;
  end;
  end;


end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  length(Edit1.text) >= 13 then Key := #0;
end;

end.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-996028/,如需轉載,請註明出處,否則將追究法律責任。

相關文章