欢迎来到天天文库
浏览记录
ID:6080138
大小:83.50 KB
页数:10页
时间:2018-01-02
《windows文件读写监控系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Windows文件读写监控系统摘要:21世纪,人类进入了一个全新的时代,一个以计算机技术为代表的信息时代。人们的生活节奏随着信息技术的快捷方便而变快。在这次信息革命中谁拥有便捷的信息,谁就掌握了时代的命脉,占据技术的颠峰。在PC领域,称霸桌面的Windows系统的垄断和不公开源代码,对我们研究更是带来很大困难。本程序的全称为Windows下的文件监视程序,是一个工具软件。通过本程序的分析和设计,为创建更大的软件工程提供了一定的帮助。在逆向工程中,可以利用本程序,分析进程的文件读写情况,对工程的开发提
2、供了一定的帮助。本程序采用VC开发环境,利用DLL挂接,拦截API等技术实现了对目标进程的文件读写监视关键词:文件监视程序工具软件DLL挂接拦截API1.引言1.1课题背景以计算机为代表的信息技术在近几年在全世界得到了飞速的发展,在企事业单位计算机已经成为主要的工作平台,在个人的日常生活中,计算机已经非常普及,就像普通家电那样。计算机技术的运用可以帮助人们减轻负担,提高工作效率。然而我们国家计算机研究起步相对较晚,特别在PC领域,微软的windows平台垄断了我们国家的绝大部分,再加上它的源代码的不
3、公开,以及众多版本,给我国的平台研究更是带来了很大的困难。现在我们国家已经有一些公司和集体在研究操作系统。本程序是一个工具软件,它可以做为很多软件项目的工具,可以在项目开发前期进行简单的构造。在设计本程序的时候,运用了很多热门技术,比如DLL挂接和远线程注射等,在很多杀毒软件和防火墙软件中都有它们的身影。1.2系统开发的目的和意义本程序作为一个工具软件,之所以设计它,主要一方面出于学习研究一些热门技术,以及利用这些技术能到达一个什么效果。它用到的技术,比如DLL挂接,API拦截,这些技术在很多杀毒软
4、件等中运用的很多。比如卡巴斯基,它在进程读写时进行拦截,获得读写文件的数据,再利用其杀毒引擎进行查杀病毒。上面提到的拦截实际上是对文件读写API(比如ReadFile,WriteFile等)。很多游戏外挂利用远线程注射,将木马DLL插入游戏进程空间内,一旦插入成功,它就能破坏进程的正常运行,甚至有的对游戏进程的数据区进行搜索内帐号密码等信息,达到窃取帐号等目的。类似这些技术用处很大,几乎所有的市面上知名的软件都有用到。另一方面是其实用性。本小程序能拦截目标进程对文件的操作,并向用户报告,并且可以设置
5、对目标进程对文件只读,对一些重要数据可以起到一定的仿删除作用。比如一些病毒就专门破坏移动存储设备内的文件,通过对对其设置只读就可以防止这类事情的发生。101.3国内外概况在国外技术环境相对较好,很多公司都对windows文件系统都有深刻的研究,并且开发了很多文件过滤驱动程序,他们的功能都类似,这些驱动都处于功能驱动之上,通过对某些IO请求包(IRP)的过滤,实现一定的功能。由于驱动处在内核模式,因此这种方式功能非常强大,杀毒软件一般都在内核模式下监视进程的文件操作,它最先收到进程的IRP,通过修改,
6、抛弃IRP,很容易实现文件的监视效果。另一种方法是在用户模式下监视,这种方法相对简单,它主要是拦截API,将API的头几个字节修改跳转指令,使跳转的我们自己写的替换API中,这样一旦目标进程调用了该被修改的API,就跳到我们写的替换API上了,通过修改传递进来的参数实现某些功能。在国内,台湾的志远公司设计的还原精灵,它则是修改MBR,使它的程序先被执行,然后将之前保存的FAT覆盖现在的FAT,到达文件系统的还原。内地的硬盘保护卡,则是采用文件过滤驱动方式。2.应用技术本程序作为一个工具软件,出于学习
7、研究一些热门技术,以及利用这些技术能到达一个什么效果。用到VisualC++开发语言,用到API,APIHOOK,API拦截,DLL挂接等,这些技术在很多杀毒软件等中运用的很多。2.1API(1)API定义API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组编程的能力,而又无需访问源码,或理解内部工作机制的细节。API函数包含在Windows系统目录下的动态链接库文件中。(2)Wind
8、owsAPIWindowsAPI是一套用来控制Windows的各个部件的外观和行为的一套预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。更易理解地说:Windows这个多作业系统除了协调应用程序的执行、分配内存、管理系统资源之外,它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序,所以便称之
此文档下载收益归作者所有