hook NtUserCreateWindowEx

1. 附加个有窗口的进程(确保会加载 user32.dll), 一开始还以为这个函数在 ntdll.dll 中

2. 查找函数地址

   0:012> x user32!NtUserCreateWindowEx
758aa948 USER32!NtUserCreateWindowEx = <no type information>
0:012> uf 758aa948
USER32!NtUserCreateWindowEx:
758aa948 b876100000      mov     eax,1076h
758aa94d b900000000      mov     ecx,0
758aa952 8d542404        lea     edx,[esp+4]
758aa956 64ff15c0000000  call    dword ptr fs:[0C0h]
758aa95d 83c404          add     esp,4
758aa960 c23c00          ret     3Ch


3. 看能不能按以前修改首部5字节跳转。。。


引用 http://bbs.csdn.net/topics/360133376 里 aiwnx的分析

CreateWindowExW -> _CreateWindowEx -> VerNtUserCreateWindowEx -> (kernel: 0x157:NtUserCreateWindowEx)
CreateWindowExA -> _CreateWindowEx -> VerNtUserCreateWindowEx -> (kernel: 0x157:NtUserCreateWindowEx)
DialogBoxParam -> DialogBoxIndirectParamAorW -> InternalDialogBox -> InternalCreateDialog -> VerNtUserCreateWindowEx -> (kernel: 0x157:NtUserCreateWindowEx)
CreateDialogParam -> CreateDialogIndirectParamAorW -> InternalCreateDialog ->  VerNtUserCreateWindowEx -> (kernel: 0x157:NtUserCreateWindowEx)


函数原型:

NtUserCreateWindowEx(DWORD dwExStyle,PUNICODE_STRING 
 UnsafeClassName,PUNICODE_STRING UnsafeWindowName,DWORD dwUnknown1,DWORD 
 dwStyle,LONG x, LONG y,LONG nWidth, LONG nHeight,HWND 
 hWndParent,HMENU hMenu,HINSTANCE hInstance,LPVOID lpParam,DWORD 
 dwShowMode,DWORD dwUnknown2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值