Einzelnen Beitrag anzeigen

Clowdy

Registriert seit: 1. Mai 2016
4 Beiträge
 
#7

AW: x64 main-thread hook mittels dll

  Alt 13. Mai 2016, 15:34
Hallo nochmal,

da durchaus der ein oder andere durch Google auf den Beitrag hier stoßen dürfte und die Resultate zu Thread Hijacking unter x64 ziemlich dürftig sind, möchte ich hier noch einmal den korrigierten Code posten. Ich habe den Code jetzt seit einer Woche ohne Probleme bei mir im Einsatz, möglich das er noch immer Fehler enthält, dafür übernehme ich keine Gewähr. :p

Hinzu kamen einige Probleme bei den Parametern einiger Funktionen bei der Anwendung für die ich meine DLL nutze, aber das dürfte eher uninteressant sein.

edit: Mit QueueUserAPC habe ich mich ebenfalls intensiv beschäftigt, scheidet hier aber leider aus da der Thread sich in einer Schleife befindet und nie in einem alertable state ist, das wäre also nur eine Lösung gewesen wenn ich direkt beim Start der Anwendung injiziere.

Delphi-Quellcode:
procedure AsmLoader; assembler;
asm
  push [_rip]
  pushfq
  push RAX
  push RBX
  push RCX
  push RDX
  push RDI
  push RSI
  push RSP
  push RBP
  push R8
  push R9
  push R10
  push R11
  push R12
  push R13
  push R14
  push R15
  call _Load
  pop R15
  pop R14
  pop R13
  pop R12
  pop R11
  pop R10
  pop R9
  pop R8
  pop RBP
  pop RSP
  pop RSI
  pop RDI
  pop RDX
  pop RCX
  pop RBX
  pop RAX
  popfq
end;

Geändert von Clowdy (13. Mai 2016 um 15:45 Uhr) Grund: Delphi Code Tags
  Mit Zitat antworten Zitat