Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

CreateThread unter 64 bit - Crash

  Alt 2. Mai 2012, 20:22
Hallo Leute,

ich habe grade mal versucht in einer 64 bit Anwendung mit CreateThread() einen neuen Thread zu starten. Unter 32 bit funktioniert folgender Code:
Delphi-Quellcode:
function DummyThread(Parameter: Pointer): DWord; stdcall;
begin
  Result := 0;
end;

CreateRemoteThread(hProcess, nil, 0, @DummyThread, nil, 0, TID);
Unter 64 bit führt der Aufruf allerdings direkt zum Crash. Wenn ich innerhalb des Threads einen Breakpoint setze, dann sehe ich, dass auch der Parameter Pointer komplett falsch ist. Irgendwie wird also der Stack corrupted.

Muss ich unter 64 bit da eine andere Aufrufkonvention als stdcall angeben?

Viele Grüße
Zacherl
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat