Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: Globaler API-Hook funktioniert nicht

  Alt 14. Mai 2008, 18:08
Zitat von brechi:
FindNextHooked ist quatsch... 1 param ist eax? ganz sicher net
Ganz sicher doch Habs ja vorher debuggt und ausführlich recherschiert

Zitat von brechi:
globale Variablen für parameter benutzen oO?
Ja wie gesagt.. Bei lokalen ist das Problem, das dann vor den nops code erzeugt wird, der dann anstelle von den nops überschrieben wird. Dann wollte ich die Param-Variablen in den public-Teil von TForm1 verlagern, aber egal was ich auch gemacht habe, man konnte diesen Variablen nix zuweisen:

Code:
mov eax, Form1.Variable


eax = 0

deswegen musste ich zwangsweise auf globale Variablen setzen.

so sollte es gemacht werden (pseudocode):


Zitat von brechi:
origfunction:
00000 JMP hooked
00005 restlicher code (darf nicht zerteilt sein)

So siehts bei mir ja auch aus.

Das Problem ist ja, dass ich meinen Code nach dem Original Code ausführen will... also so:

Delphi-Quellcode:
// origfunction:
00000 JMP hooked
00005 restlicher code (darf nicht zerteilt sein)

// hooked
00000 5 Bytes der origfunktion
ab 00005: Parameter der Originalfunktion sichern
ab 0000X: call originalfunktion +5
ab 0000Y: Auswertung der Ergebnisse der Originalfunktion // <--- geht nicht


Zitat von brechi:
die Funktion HookCodeNt von http://omorphia.cvs.sourceforge.net/...as?view=markup macht das so
Ja danke. Aber ich würds schon gern selbst hinkriegen

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat