Ładny brzuch
Witam
Uzywam nastepujacego kodu do odkrywania hase z pod gwiazdek :
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Timer1: TTimer; Label1: TLabel; Label2: TLabel; CheckBox1: TCheckBox; procedure Timer1Timer(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Timer1Timer(Sender: TObject); var Uchwyt : HWND; NazwaKlasy : String; DlugBufora : DWORD; buffer : string; TxtLength :integer; begin Uchwyt:=WindowFromPoint(Mouse.CursorPos); DlugBufora := 64; SetLength(NazwaKlasy, DlugBufora); GetClassName(Uchwyt,Pchar(NazwaKlasy),DlugBufora); label1.caption:='Nazwa: '+ NazwaKlasy; PostMessage( Uchwyt, EM_SETPASSWORDCHAR, 0, 0 ); TxtLength := SendMessage(Uchwyt, WM_GETTEXTLENGTH, 0, 0); txtlength := txtlength + 1; setlength (buffer, TxtLength); SendMessage(Uchwyt, WM_GETTEXT,TxtLength,longint(@buffer[1]) ); Label2.Caption:='Tekst: '+buffer; if CheckBox1.Checked=false then // jesli nie wlaczony "BRUTAL" exit; for TxtLength:=1 to 300000 do begin if CheckBox1.Checked=false then exit; PostMessage( TxtLength, EM_SETPASSWORDCHAR, 0, 0 ); end; end; procedure TForm1.FormActivate(Sender: TObject); begin SetWindowPos(handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE + SWP_NOACTIVATE); end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=27 then close; end; end.
Problem w tym i w przypadku GG -> Ustawienia -> po najechaniu na haso pokazuje Klase BUTTON i nazwe Twoje Konto, uzywajac programu WinInfo program dokladnie pokazuje ze jest to klasa EDIT, wiec powyzszy kod najwyrazniej zacina sie na klasie nadrzednej ktora jest Button a na niego nalozony jest element Edit z ukrytym pod gwiazdkami haslem.
I tu moje pytanie ; jak mozna pobrac to haslo z tego Edita i zeby nazwa klasy byly poprawnie pokazywane ??
Z gory dzieki za otrzymana pomoc.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Uzywam nastepujacego kodu do odkrywania hase z pod gwiazdek :
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Timer1: TTimer; Label1: TLabel; Label2: TLabel; CheckBox1: TCheckBox; procedure Timer1Timer(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Timer1Timer(Sender: TObject); var Uchwyt : HWND; NazwaKlasy : String; DlugBufora : DWORD; buffer : string; TxtLength :integer; begin Uchwyt:=WindowFromPoint(Mouse.CursorPos); DlugBufora := 64; SetLength(NazwaKlasy, DlugBufora); GetClassName(Uchwyt,Pchar(NazwaKlasy),DlugBufora); label1.caption:='Nazwa: '+ NazwaKlasy; PostMessage( Uchwyt, EM_SETPASSWORDCHAR, 0, 0 ); TxtLength := SendMessage(Uchwyt, WM_GETTEXTLENGTH, 0, 0); txtlength := txtlength + 1; setlength (buffer, TxtLength); SendMessage(Uchwyt, WM_GETTEXT,TxtLength,longint(@buffer[1]) ); Label2.Caption:='Tekst: '+buffer; if CheckBox1.Checked=false then // jesli nie wlaczony "BRUTAL" exit; for TxtLength:=1 to 300000 do begin if CheckBox1.Checked=false then exit; PostMessage( TxtLength, EM_SETPASSWORDCHAR, 0, 0 ); end; end; procedure TForm1.FormActivate(Sender: TObject); begin SetWindowPos(handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE + SWP_NOACTIVATE); end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=27 then close; end; end.
Problem w tym i w przypadku GG -> Ustawienia -> po najechaniu na haso pokazuje Klase BUTTON i nazwe Twoje Konto, uzywajac programu WinInfo program dokladnie pokazuje ze jest to klasa EDIT, wiec powyzszy kod najwyrazniej zacina sie na klasie nadrzednej ktora jest Button a na niego nalozony jest element Edit z ukrytym pod gwiazdkami haslem.
I tu moje pytanie ; jak mozna pobrac to haslo z tego Edita i zeby nazwa klasy byly poprawnie pokazywane ??
Z gory dzieki za otrzymana pomoc.