Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Hook führt zu System Exception

  Alt 26. Mai 2011, 06:06
Schau dir einfach einmal den generierten Assemblercode an.

Aber davon abgesehen verstehe ich auch nicht wirklich was da Assembler verloren hat. Sinnvoller wäre dort sowieso reiner Object Pascal Code, dann gibt es da auch keine solchen Probleme:
Delphi-Quellcode:
function MakeProcInstance(const M: TMethod): Pointer;
begin
  GetMem(Result, 7 + 2 * SizeOf(Pointer));
  PByte(Result)^ := $B9;
  Inc(PByte(Result));
  PPointer(Result)^ := M.Data;
  Inc(PPointer(Result));
  PLongInt(Result)^ := $B952515A;
  Inc(PLongInt(Result));
  PPointer(Result)^ := M.Code;
  Inc(PPointer(Result));
  PByte(Result)^ := $FF;
  Inc(PByte(Result));
  PByte(Result)^ := $E1;
  Dec(PByte(Result), 6 + 2 * SizeOf(Pointer));
end;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat