如何拦截每个试图在C#中使用API​​函数?

Ste*_*imp 3 c# hook winapi intercept

我需要阻止计算机上的任何屏幕捕获软件进行屏幕截图.由于它们都是标准的API函数,我想我可以监视和阻止它们.我需要使用C#.我所发现的是如何在某个程序中监视和阻止它们(屏幕捕获程序).他们正在寻找程序中的函数,然后他们在我的函数地址上更改它的地址.但是,如果我没有任何某些程序,我怎么能这样做呢?我需要阻止试图截屏的任何人.

Sco*_*ain 7

如果你的最终目标是否可行,我不知道,但是对于挂钩API部分,我可以帮助你.

我过去曾多次使用过EasyHook库,这样可以让你轻松地从C#代码中挂钩和拦截系统函数调用.只需阅读PDF教程以获取设置说明.

为了实际找到API,我推荐Rohitab的API监视器,它仍然处于Alpha阶段,但它工作得很好并且是免费的.你只要把它挂到一个进程,它会告诉你每一个外部DLL调用它使(用它传递,如果你有DLL的XML定义文件,该方案配备了几乎所有的参数在Windows API dll的预定义) .

在此输入图像描述

EasyHook和API Monitor的组合对于与其他程序的调用进行混淆是一个很好的选择.