Einzelnen Beitrag anzeigen

Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Importierte API Funktionen erweitern...

  Alt 9. Aug 2005, 14:12
Ah, Ok...

Läuft super!

Merke:

Delphi bastelt sich so ne art referenz tabelle die ca so aus sieht in ASM:

Code:
004085BC  $-FF25 68779F00  JMP DWORD PTR DS:[<&user32.ReleaseDC>]  ; user32.ReleaseDC
004085C2     8BC0           MOV EAX,EAX
004085C4   $-FF25 64779F00  JMP DWORD PTR DS:[<&user32.RemoveMenu>] ; user32.RemoveMenu
004085CA    8BC0           MOV EAX,EAX
004085CC  $-FF25 60779F00  JMP DWORD PTR DS:[<&user32.RemovePropA>] ; user32.RemovePropA
004085D2     8BC0           MOV EAX,EAX
004085D4   $-FF25 5C779F00  JMP DWORD PTR DS:[<&user32.ScreenToClien>; user32.ScreenToClient
004085DA    8BC0           MOV EAX,EAX
004085DC  $-FF25 58779F00  JMP DWORD PTR DS:[<&user32.ScrollWindow>>; user32.ScrollWindow
Und an den entsprechenden Speicherstellen auf die die Pointer zeigen steht der gleiche wert drin den mir GetProcAddress liefert...

also sollte ich mit folgendem Code hinkommen um mir die Adresse zu suchen:
Delphi-Quellcode:
function GetAddy(ModuleName, ProcName:String):Integer;
var MH:Cardinal;
begin
  MH := LoadLibrary(PChar(ModuleName));
  result := Integer(GetProcAddress(MH,PChar(ProcName)));
  FreeLibrary(MH);
end;
Greetz
Boombuler
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat