Показать сообщение отдельно
Старый 19.01.2009, 20:16   #1   
Форумец
 
Сообщений: 58
Регистрация: 12.03.2007

Dream Worker вне форума Не в сети
перехват WinApi GetLocalTime

Пытался повторить по примеру, взятому у MS_REM
http://www.wasm.ru/article.php?article=apihook_1
пример AdwareBox

Но во первых в Делфи GetLocalTime объявлена как процедура а не функция, во вторых мне не особо понятно смысл значений


Цитата:
кусок кода

Procedure SetHook();
var
Khernel32: dword;
Bytes: dword;
begin
Khernel32 := GetModuleHandle('Kernel32.dll');
GltAdr := GetProcAddress(Khernel32, 'GetLocalTime');
ReadProcessMemory(INVALID_HANDLE_VALUE, GltAdr, @OldGlt, SizeOf(OldCode), Bytes);
JmpGlt.PuhsOp := $68;
JmpGlt.PushArg := @NewGetLocalTime;
JmpGlt.RetOp := $C3;
WriteProcessMemory(INVALID_HANDLE_VALUE, GltAdr, @JmpGlt, SizeOf(far_jmp), Bytes);
end;
Цитата:
JmpGlt.PuhsOp := $68;
JmpGlt.RetOp := $C3;
Я видел множество примеров на C++ или на ASM, но в них, я к сожалению, не силен.
Если кому не тяжело, посоветуйте как нужно исправить код. спс.
  Ответить с цитированием