摘 要 21世纪,人类进入了一个全新的时代,一个以计算机技术为代表的信息时代。人们的生活节奏随着信息技术的快捷方便而变快。在这次信息革命中谁拥有便捷的信息,谁就掌握了时代的命脉,占据技术的颠峰。国家与国家之间因此而展开新一轮激烈的竞争,竞争的焦点以计算机技术为代表。我们国家的计算机研究刚起步,面临着技术封锁等众多问题,需要克服许多不利因素,迎难而上,奋起急追。在PC领域,我国没有属于自己的软件平台,这给我们到研究带来了一定的困难。另一方面,称霸桌面的windows系统的垄断和不公开源代码,对我们研究更是带来很大困难,正应征了一句名言:一切靠自己。 本程序的全称为windows下的文件监视程序,是一个工具软件。通过本程序的分析和设计,为创建更大的软件工程提供了一定的帮助。在逆向工程中,可以利用本程序,分析进程的文件读写情况,对工程的开发提供了一定的帮助。本程序采用vc开发环境,利用DLL挂接,拦截API等技术实现了对目标进程的文件读写监视。 关键词:文件监视程序 工具软件 DLL挂接 拦截API
Abstract In the 21st century, the humanity entered for one brand-new time, take computer technology as representative's information age.People's rhythm of life changes quick along with information technology's quick convenience.Who has the convenient information in this information revolution, who has controlled the time life, the hold technology summit.Between the country and the country therefore launches the new round keen competition, the competition focal point take the computer technology as representative.Our country's computer research just started, is facing the technical blockade and so on numerous questions, needs to overcome many disadvantage factors, grasps the nettle, exerts pursues anxious.In the PC domain, our country has not belonged to own software platform, this has brought certain difficulty to us.On the other hand, dominates the desktop windows system's monopoly and not the public source code, studies to us brings the very major difficulty, has been being subject to duty a famous saying: All depend on themselves. This procedure's full title is windows file monitor program. Is a tool small software.Through this procedure's analysis and the design, to found the bigger software engineering to provide certain help.This procedure uses the vc development environment, hung using DLL meets, intercepts technologies and so on API to realize to the goal advancement file read-write surveillance Key words: The file monitor program;tool software;DLL insert;intercepts API
课题研究的目的和意义 本程序作为一个工具软件,之所以设计这么一个小东西,主要一方面出于学习研究一些热门技术,以及利用这些技术能到达一个什么效果。这个程序虽然很小,但其用到的技术,比如DLL挂接,API拦截,这些技术在很多杀毒软件等中运用的很多。比如卡巴斯基,它在进程读写时进行拦截,获得读写文件的数据,再利用其杀毒引擎进行查杀病毒。上面提到的拦截实际上是对文件读写API(比如ReadFile,WriteFile等)。很多游戏**利用远线程注射,将木马DLL插入游戏进程空间内,一旦插入成功,它就能破坏进程的正常运行,甚至有的对游戏进程的数据区进行搜索内帐号密码等信息,达到窃取帐号等目的。类似这些技术用处很大,几乎所有的市面上知名的软件都有用到。所以掌握这些技术对于我们今后要从事软件开发的同学来说是非常有必要的。(毕业设计网 ) 另一方面是其实用性。本小程序能拦截目标进程对文件的操作,并向用户报告,并且可以设置对目标进程对文件只读,对一些重要数据可以起到一定的仿删除作用。比如一些病毒就专门破坏移动存储设备内的文件,通过对对其设置只读就可以防止这类事情的发生。通过监视某些系统进程,也会有一些收获,比如监视注册表编辑程序(Regedit)。
开发工具的选择 现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有: Microsoft公司的Visual Basic Microsoft公司的Visual C++ Borland公司的Delphi Powersoft公司的PowerBulider Sun公司的JAVA等等
在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。 Visual C++是一种可视化的、面对对象的高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大。在Visual Basic环境下,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。 Visual C++采用的框架是MFC。MFC不仅仅是人们通常理解的一个类库。你如果选择了MFC,也就选择了一种程序结构,一种编程风格。MFC 是一个很大的、扩展了的 C++ 类层次结构,它能使开发 Windows 应用程序变得更加容易。MFC 是在整个 Windows 家族中都是兼容的,也就是说,无论是 Windows3.x、Windows95 还是 Windows NT,所使用的 MFC 是兼容的。每当新的 Windows 版本出现时,MFC 也会得到修改以便使旧的编译器和代码能在新的系统中工作。MFC 也回得到扩展,添加新的特性、变得更加容易建立应用程序。 使用 MFC 的最大优点是它为你做了所有最难做的事。MFC 中包含了上成千上万行正确、优化和功能强大的 Windows 代码。你所调用的很多成员函数完成了你自己可能很难完成的工作。从这点上将,MFC 极大地加快了你的程序开发速度。Visual C++ 不仅仅是一个编译器。它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的 C++ 来开发出专业级的 Windows 应用程序。Visual C++作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件代码自动生成和可视化的资源编辑功能。在使用Visual C++开发应用程序的过程中,系统为我们生成了大量的各种类型的文件。 同时,由于本程序中的监视模块必须做成一个动态链接库,所以要求的开发环境必须能很好的支持动态链接库的开发。由于我的程序运行在微软的 Windows平台下,而VC编译器又是由微软开发的,所以它在这方面很有优势。并且本人也只熟悉c/c++,所以VC是不二选择。
本程序为一个工具软件。该程序要满足如下功能: 第一,程序应建立友好的界面,既要操作简单、直观、灵活,又要易于学习掌握。 第二,本程序需要在目标进程插入DLL,要保证不去破坏目标进程的正常运行。 第三,如果本程序用来监视系统进程,要保证不去破坏系统进程,不使系统无法工作。 第四,系统可扩充、易维护。 系统应充分考虑到以后版本的更新和其他变化,如功能的增加等,具备一定的扩充能力。系统的模块化程度要高,软件维护要方便。
目 录 摘 要 I Abstract II 1绪 论 1 1.1课题背景 1 1.2课题研究的目的和意义 1 1.3国内外概况 2 1.4开发工具的选择 2 2系统总体分析 4 2.1 需求概述 4 2.2 系统的可行性研究 4 2.3系统需求分析 5 3系统总体设计 8 3.1 功能模块分析 8 3.2显示模块 9 3.3监视模块 11 3.4注射模块 14 3.5文件过滤驱动模块 19 3.6 选项模块 19 (毕业设计网 ) 4系统实现 21 4.1 目标系统 21 4.2程序界面设计 21 5总结与展望 28 致 谢 29 参考文献 30
|