如何拦截操作系统函数调用

时间:2011-03-21 23:59:55

标签: c# operating-system call

假设一个程序是否进行了操作系统函数调用,我必须拦截它是如何完成的?

2 个答案:

答案 0 :(得分:3)

直接在C#中挂钩API是不可能的,操纵堆栈帧需要机器代码。然而,有一个非常受欢迎的库可以通过C#程序EasyHook下载is here。如果您想了解它是如何工作的,可以使用源代码。

答案 1 :(得分:1)

您需要创建一个钩子。在非托管代码中,您应该能够使用Detours。查看EasyHook,因为您需要在C#中执行此操作。 This关于代码项目的文章解释了如何使用它。