【问题标题】:Hooking syscalls from userspace on Windows在 Windows 上从用户空间挂钩系统调用
【发布时间】:2008-10-06 05:31:16
【问题描述】:

我正在修补 connect() 以将网络流量重定向为库 (NetHooker) 的一部分,这很好用,但它取决于 ws2_32.dll 保持不变并且如果直接使用系统调用则不起作用.所以我想知道是否有办法在没有驱动程序的情况下捕获系统调用本身。有人知道这是否可能吗?

【问题讨论】:

    标签: hook code-injection patch


    【解决方案1】:

    科迪,

    您可能希望考虑编写分层服务提供程序,而不是系统调用挂钩。

    http://www.microsoft.com/msj/0599/LayeredService/LayeredService.aspx

    【讨论】:

      【解决方案2】:

      Cody,也许你可以看看http://research.microsoft.com/en-us/projects/detours/

      另外,我写了一些代码,给定 dll 导出的名称将通过修补内存中的图像将其重定向到另一个函数指针,如果你想要代码,请告诉我。

      【讨论】:

      • 感谢您的意见。 Detours 是一个很棒的库(除了许可,但这在这里并不真正相关),但它只允许挂钩函数而不是实际的系统调用指令。据我所知,这只能由司机来完成,很遗憾。
      【解决方案3】:

      除了Detours 库,您还可以看看easyhook 库。这两个库都旨在修补内存中的图像。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多