空调 发表于 2013-9-22 16:39:02

api hook 技术

以前小甲鱼的   http://bbs.fishc.com/forum.php?mod=viewthread&tid=37576&page=1#pid1290919   我现在想拦截findwindowexa      我就这么写了其他的没加程序      
第一处
       hhk: HHOOK;
Hook: array of TNtHookClass;

//内存映射
MemFile: THandle;
startPid: PDWORD;   //保存PID
第2处
function Newfindwindowex(_hWnd ,hwndChildAfter:HWND; xp,ew:string):hwnd;stdcall;
type
TNewfindwindowex = function (_hWnd, hwndChildAfter:HWND;xp,ew: string):hwnd;stdcall;
begin

xp:='dsfsdsa';
Hook.UnHook;
Result := TNewfindwindowex(Hook.BaseAddr)(_hWnd ,hwndChildAfter:HWND; xp,ew:string);
Hook.Hook;
end;//   这个是我自己添加的函数    然后最后一步   

Hook := TNtHookClass.Create('user32.dll', 'MessageBoxA', @NewMessageBoxA);
Hook := TNtHookClass.Create('user32.dll', 'MessageBeep', @NewMessageBeep);
Hook := TNtHookClass.Create('user32.dll', 'MessageBoxW', @NewMessageBoxW);
Hook := TNtHookClass.Create('kernel32.dll', 'OpenProcess', @NewOpenProcess);
   Hook := TNtHookClass.Create('user32.dll', 'findwindowex', @Newfindwindowex); //这个是我加的    应该可以拦截下来 但是就是拦截不下来   帮我看看啊   大神~~~~~~~们小虾也可以   只要懂的   速度教下我@小甲鱼

空调 发表于 2013-9-22 17:46:53

Result := TNewfindwindowex(Hook.BaseAddr)(_hWnd ,hwndChildAfter, xp,ew);上面有句是这样的
页: [1]
查看完整版本: api hook 技术