如何捕获读写系统调用?

时间:2011-08-11 04:54:55

标签: c windows kernel system-calls

每当我尝试在我的pendrive上写任何东西时,都会产生一个写系统调用。我想要做的是,这个写调用应该被捕获,并且应该要求用户输入预定密码(我可以在编码期间定义)。 请告诉我这是否可行?如果是,我应该怎么做?

2 个答案:

答案 0 :(得分:2)

Windows DDK有一个在filesys\minifilter中挂起文件读/写/副本的示例,包括前后操作回调,应该为内核端设置。对于gui部分,你需要做一些非阻塞旋转,直到驱动器发出事件信号,你可能还需要一个管道或映射的内存视图来传递数据

答案 1 :(得分:0)

EasyHook应该能够让你能够挂钩内核函数。我没试过,所以你的里程可能会有所不同。务必小心地挂钩功能 - 您可能会降低机器的性能,使其无法使用。您想要的是与用户交互,这意味着您必须保持挂钩功能,并向用户空间发出回调。对于凡人而言,这可能不是一种练习。

无论如何,祝你好运!