自写API绕过R3下所有HOOK

本文通过实例展示了如何在动态调试中,绕过R3层的HOOK,重点分析了在FindWindowW函数中如何处理类名参数,以实现API调用的正常执行。
摘要由CSDN通过智能技术生成
拿FindWindow来做测试,先OD跟一下
HWND hWnd=::FindWindow(_T("SciCalc"),_T("计算器"));
::SendMessage(hWnd,WM_CLOSE,NULL,NULL);

为了方便分析参数,给FindWindow也传递了类名。
OD载入,bp FindWindowW,运行后断下来,来到FindWindowW里面

77D2C9C5    55              PUSH EBP
77D2C9C6    8BEC            MOV EBP,ESP
77D2C9C8    33C0            XOR EAX,EAX
77D2C9CA    50              PUSH EAX
77D2C9CB    FF75 0C         PUSH DWORD PTR SS:[EBP+C]
77D2C9CE    FF75 08         PUSH DWORD PTR SS:[EBP+8]
77D2C9D1    50              PUSH EAX
77D2C9D2    50              PUSH EAX
77D2C9D3    E8 8AFFFFFF     CALL USER32.77D2C962
77D2C9D8    5D              POP EBP
77D2C9D9    C2 0800         RETN 8

FindWindowW里面其实又调用了USER32!InternalFindWindowExW,这个函数接收5个参数,第三个是类名,第四个是标题,其他参数不用管,跟进去看下

                
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值