
18.11.2009, 15:53
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
С нами:
9785147
Репутация:
137
|
|
Так что советую почитать тебе на васме про инжект DLL в процесс.
Нашёл вот на сорцах ру
http://forum.sources.ru/index.php?showtopic=282574
Код:
function InjectLibrary(Process: LongWord; DLLPath: PChar): Boolean;
var
Parameters: Pointer;
BytesWritten, Thread, ThreadID: dword;
begin
Result := False;
Parameters := VirtualAllocEx(Process, nil, 4096, MEM_COMMIT, PAGE_READWRITE);
if Parameters = nil then
Exit;
WriteProcessMemory(Process, Parameters, Pointer(DLLPath), 4096, BytesWritten);
Thread := CreateRemoteThread(Process, nil, 0, GetProcAddress(GetModuleHandle('KERNEL32.DLL'), 'LoadLibraryA'), Parameters, 0, ThreadId);
WaitForSingleObject(Thread, 3000);
VirtualFreeEx(Process, Parameters, 0, MEM_RELEASE);
if Thread = 0 then
Exit;
CloseHandle(Thread);
Result := True;
end;
Только вот не понимаю как должна выглядеть переменная процесса (Process: LongWord), как её получить? Вроде ProcessID это Dword
Последний раз редактировалось ZET36; 18.11.2009 в 16:04..
|
|
|