HookAPI通信

本文介绍了在驱动学习中关于HookAPI通信的原理,通过在Ring3层 Hook 具有缓冲区的函数,以实现与Ring0层的数据交换。作者将此过程比喻为马帮运输,通过替换运输内容实现信息传递,同时提到了两种Hook技术:SSDTHook和InlineHook。
摘要由CSDN通过智能技术生成

这段时间学习驱动,到了HookAPI通信这部分,简单记录一下。

HookAPI通信:在Ring3与Ring0之间进行数据交互,我们都知道,在调用一个函数时,该函数会调用内核中对应的函数来实现相应的功能,在这里,我们选择一个具有缓冲区的函数来传输我们自己的数据,在这个函数调用内核层对应的函数时,我们对其Hook,然后取出相应数据。

做个不是太恰当的比喻,就像一个马帮,从A地(Ring3)到向B地(Ring0)运输盐,而在A地的时候,我们将运输的盐替换成我们的大烟,然后,再刚进行B地时,我们把大烟取出,这样就不需要我们亲自去运输了。

在Hook的时候,可以使用SSDTHook或InlineHook。

Ring3函数:

ReadFile((HANDLE)FUNC_ADDRESS_INFO, FuncAddressInfo, (sizeof(WIN32KFUNCINFO) + sizeof(KERNELFUNC_ADDRESS_INFORMATION)), &dwReadByte, 0);

FUN_ADDRESS_INFO是判断的标识,FuncAddressInfo为缓冲区,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值