鱼C论坛

 找回密码
 立即注册
查看: 2888|回复: 1

api hook 技术

[复制链接]
发表于 2013-9-22 16:39:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
以前小甲鱼的   http://bbs.fishc.com/forum.php?m ... p;page=1#pid1290919   我现在想拦截  findwindowexa      我就这么写了  其他的没加程序        
第一处
       hhk: HHOOK;
  Hook: array[0..4] 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[4].UnHook;
  Result := TNewfindwindowex(Hook[4].BaseAddr)(_hWnd ,hwndChildAfter:HWND; xp,ew:  string);
  Hook[4].Hook;
  end;//   这个是我自己添加的  函数    然后最后一步   

Hook[0] := TNtHookClass.Create('user32.dll', 'MessageBoxA', @NewMessageBoxA);
  Hook[1] := TNtHookClass.Create('user32.dll', 'MessageBeep', @NewMessageBeep);
  Hook[2] := TNtHookClass.Create('user32.dll', 'MessageBoxW', @NewMessageBoxW);
  Hook[3] := TNtHookClass.Create('kernel32.dll', 'OpenProcess', @NewOpenProcess);
   Hook[4] := TNtHookClass.Create('user32.dll', 'findwindowex', @Newfindwindowex); //  这个是我加的    应该可以拦截下来 但是就是拦截不下来     帮我看看啊     大神~~~~~~~们  小虾也可以   只要懂的   速度  教下我  @小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-22 17:46:53 | 显示全部楼层
Result := TNewfindwindowex(Hook[4].BaseAddr)(_hWnd ,hwndChildAfter, xp,ew);  上面有句是这样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 12:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表