阅读:1048回复:0
请问如何在Explorer牛毛般的CREATE操作中找出哪个文件真正将要被执行?
在做一个文件保护项目,以sfilter为模版,参考了tooflat的加密驱动、filespy、filemon等程序。第一阶段,在操作系统启动过程中,对驱动程序、系统服务、自启动应用程序进行校验。原理:在IRP_MJ_CREATE中拦截以上文件的打开请求,下传IRP读取文件内容,与先验存储的HASH比对。此部分工作已完成。
接下来,在系统启动后,计划对用户执行的EXE程序进行校验,拦截EXE执行的首个CREATE请求,与用户交互判断是否执行,取HASH值后放行后继的CREATE请求。目前遇到的问题是:当打开一个目录时,会拦截到Explorer对目录下所有文件的间断CREATE操作,如何从中区分中哪一个是文件运行的CREATE请求? 试过IRP的几个标志位,没有明确的结果。此时是否要转到对进程的监控更有效?PsSetCreateProcessNotifyRoutine or Hook SSDT? 项目结束后,将代码整理一下,学习学习tooflat的精神,如果有人需要,可以共享,虽然都是些很基本的东西。 |
|