Windows 如何通过 hook 来拦截截屏

引入

Windows 传统 APP 中,系统都没有提供权限的管控。所以对于一些截屏、录屏和其他隐私功能,我们只能采取一些其他方式,例如 hook 来进行权限管控。

接下来便以拦截截屏为例,来演示权限管理。

确定对应 App 的方式

因为截屏的方式有很多种,确认应用采取的方式后,可以更好的验证,并且不会误伤到其他行为。

💡 实际真实用的时候,需要考虑的点更多。这里只是演示。

通过 Api Monitor 来监听行为

API Monitor 可以通过这里下载:Downloads | rohitab.com

下载后,会得到两个版本。一个 32 位的,一个 64 位的。

如果想监听 32 位应用,就用 32 位的 api monitor;否则就用 64 位的。

这里以 snipaste.exe 为例。

确认其位数: 64位。

找到目标进程

然后在左下角的 Running Processes 中找到对应的应用:

💡 如果找不到你想要的应用。有可能是因为权限的问题,可以用管理员权限打开。或者点击左上方那个管理员盾牌图标。

确定要监听的 API 集合

我们这里要查看的是截屏,所以这里选择这个大类【Graphice and Gaming】

开始监听

通过双击选中的 snipaste.exe 就可以开始进行监听了。就像下面这样:

接下来我们尝试截个屏,立马取消,之后暂停监听(左上角工具栏有暂停的图标),就可以看到关键调用:

可以确定,它采用的是 gdi 的方式来截屏的。

Hook 对应的 API

确定方式之后,根据调用的接口,我们可以选择 BitBlt 这个接口来进行 hook。BitBlt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值