程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> AccesS密碼的打擊

AccesS密碼的打擊

編輯:Delphi
type
    TForm1 = class(TForm)
      Button1: TButton;
      Chk2000: TCheckBox;
      Edit1: TEdit;
      Button2: TButton;
      Edit2: TEdit;
      OpenDialog1: TOpenDialog;
      Button3: TButton;
      Label1: TLabel;
      procedure Button1Click(Sender: TObject);
      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
    file://ShowMessage(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
    file://ShowMessage(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
    file://if length(Edit1.text) >= 13 then Key := #0;
  end;

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved