c++ - WriteFile Hook 无法捕获写入文件操作

标签 c++ winapi hook detours writefile

我有一个应用程序,它可以向文件写入一些文本数据。 我想做的是 Hook 写作过程。 我迷上了 MS Detours、CreateFile、WriteFile 和 WriteFileEx 函数。 CreateFile 可以正确捕获这些文本文件的创建/打开,但 WriteFile 的 Hook 则不能。它捕捉到了许多其他的东西,但没有捕捉到这些。 Hook 工作正常。我已经检查过了。

进程监视器还将这些写入操作显示为 WriteFile 操作(副名称 IRP_MJ_WRITE 和 FASTIO_WRITE),就像我自己写东西时一样(我的操作钩子(Hook)工作正常)

这是怎么回事?除了 WriteFile 之外还有其他方法可以向文件写入内容吗?

最佳答案

在 Windows 中,您可以在调用 CreateFile 后使用 CreateFileMappingMapViewOfFile 函数来内存映射文件。完成此操作后,您可以使用任何内存函数(如 memcpy)写入文件。对于小文本文件,Windows 默认情况下会执行此操作,您的情况可能会发生这种情况。

关于c++ - WriteFile Hook 无法捕获写入文件操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11063424/

相关文章:

c++ - C++ 中类定义的顺序

c++ - 使用 dbms_pipe 插入来自繁重事务的数据

c++ - 在 Windows 中 - API - 如何获取/使用当前用户权限(或单点登录)

winapi - 在 Win32 OpenGL 中更新场景的正确方法是什么

git - 无法从 Git 接收后 Hook 中检测到分支

c++ - 如何以可移植的方式检查文件是否存在于 C++ 中?

c++ - 用 1 和 0 填充一个大矩阵 - 六个嵌套循环

windows - Delphi XE 和使用 OnKeyDown 捕获箭头键

c# - VSTO Windows Hook keydown 事件调用 10 次

language-agnostic - 截取笔记本电脑上的 Fn 键