【问题标题】:how to intercepting operating system function call [closed]如何拦截操作系统函数调用[关闭]
【发布时间】:2011-07-20 02:26:15
【问题描述】:

假设如果一个程序进行操作系统函数调用,我必须拦截它怎么做?

【问题讨论】:

  • 假设一个程序调用运行 notpade 那么我必须拦截这个程序的调用
  • @jams:拦截哪个调用?运行记事本的调用?
  • 呃-哦,这将结束这个问题并让我的答案变得垃圾:(

标签: c# operating-system call


【解决方案1】:

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

【讨论】:

  • “支持 32 位和 64 位内核模式挂钩”令人印象深刻!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2022-07-07
    • 1970-01-01
    • 2015-10-04
    • 2012-09-09
    • 2021-07-06
    • 2018-10-19
    • 2012-02-27
    • 2021-06-06
    • 1970-01-01
    相关资源
    最近更新 更多