系统API hook(拦截)实例

  勇芳 2017-6-7 7197

API拦截技术,实现特殊功能,尤其在破解,外挂领域是不可或缺的技术之一。

API hook,就是在API函数开始前,插入自己需要的代码,使软件调用该API时,先运行你自己写的代码。

微软出的 SPY++ 就是利用API hook技术,获取软件的消息。

如今,大神们为我们做好了模块,我们只有调用一下,轻松又简单的实现这高深的技术。


例题中,以消息函数做参考,可以拦截任意API,稍加改造也可以拦截任意软件或DLL中的函数

开始拦截:

        CALL HookAPI("USER32.DLL", "SendMessageA", CODEPTR(MySendMessage), OldSendMessage)
        CALL HookAPI("USER32.DLL", "PostMessageA", CODEPTR(MyPostMessage), OldPostMessage)
        CALL HookAPI("USER32.DLL", "PostThreadMessageA", CODEPTR(MyPostThreadMessage), OldPostThreadMessage)

取消拦截:

        CALL UnhookAPI(OldSendMessage)
        CALL UnhookAPI(OldPostMessage)
        CALL UnhookAPI(OldPostThreadMessage)

自写函数:

FUNCTION MySendMessage (BYVAL hWnd AS DWORD, BYVAL dwMsg AS DWORD, BYVAL wParam AS DWORD, BYVAL lParam AS LONG) AS LONG
    LOCAL result AS LONG
   
    在这里,可以加入我们自己写的任意代码了..................
     
    CALL DWORD OldSendMessage USING SendMessage(hWnd,dwMsg,wParam,lParam) TO result
    FUNCTION = result
END FUNCTION


下载方法:

请进QQ群:78458582 (Basic编程学习资料) (收费入群)

在群文件中,文件太多,可以用查找帖子主题的部分字找到你要的资源。


因国家互联网安全管理要求,关闭回帖功能。大家需要留言,请使用【勇芳软件客服】即时联系勇芳点此打开->>勇芳软件客服
返回
联系勇芳
发新帖 搜索 反馈 回顶部