(So jetzt hab ich mal 5 Minuten mehr Zeit)
Etwas so:
Delphi-Quellcode:
procedure injectDLL(ProcessID:Cardinal;const DLLName:string);
var lib:hmodule;
hProcess:Thandle;
Dest,StartThread:Pointer;
temp:cardinal;
begin
lib:=getmodulehandle('kernel32.dll');
StartThread:=getprocAddress(lib,Pchar(DLLName));
hProcess:=openprocess(Process_ALL_ACCESS,false,ProcessID);
Dest:=virtualallocEX(hProcess,nil,length(DLLName)+1,MEM_COMMIT or MEM_RESERVE,PAGE_READONLY);
WriteProcessMemory(HProcess,Dest,Pchar(DLLName),length(DLLName)+1,temp);
CreateRemoteThread(hProcess,nil,0,StartThread,Dest,0,temp);
end;
(ungetestet; ohne Fehlerbehandlung)
Ich bin mir sicher, dass es den Code so oder ähnlich schon in der
DP gibt. Hab ihn grad nicht gefunden.
Edit: Und wie du siehst, ist es in deinem fall besser (solange die
DLL so klein bleibt) den Code direkt umzuschreiben.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.