little_mud
驱动牛犊
驱动牛犊
  • 注册日期2005-10-24
  • 最后登录2009-08-09
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望27点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
阅读:1048回复:0

请问如何在Explorer牛毛般的CREATE操作中找出哪个文件真正将要被执行?

楼主#
更多 发布于:2007-09-07 21:43
       在做一个文件保护项目,以sfilter为模版,参考了tooflat的加密驱动、filespy、filemon等程序。第一阶段,在操作系统启动过程中,对驱动程序、系统服务、自启动应用程序进行校验。原理:在IRP_MJ_CREATE中拦截以上文件的打开请求,下传IRP读取文件内容,与先验存储的HASH比对。此部分工作已完成。

  接下来,在系统启动后,计划对用户执行的EXE程序进行校验,拦截EXE执行的首个CREATE请求,与用户交互判断是否执行,取HASH值后放行后继的CREATE请求。目前遇到的问题是:当打开一个目录时,会拦截到Explorer对目录下所有文件的间断CREATE操作,如何从中区分中哪一个是文件运行的CREATE请求?

  试过IRP的几个标志位,没有明确的结果。此时是否要转到对进程的监控更有效?PsSetCreateProcessNotifyRoutine or Hook SSDT?

        项目结束后,将代码整理一下,学习学习tooflat的精神,如果有人需要,可以共享,虽然都是些很基本的东西。
游客

返回顶部