1 / 48
文档名称:

DLL后门清除.doc

格式:doc   页数:48页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DLL后门清除.doc

上传人:xxj16588 2016/5/15 文件大小:0 KB

下载得到文件列表

DLL后门清除.doc

文档介绍

文档介绍:DLL ***清除 2007-04-25 00:40 前言***!相信这个词语对您来说一定不会陌生,它的危害不然而欲,但随着人们的安全意识逐步增强,又加上杀毒软件的“大力支持”,使传统的***无法在隐藏自己,任何稍微有点计算机知识的人,都知道“查端口”“看进程”,以便发现一些“蛛丝马迹”。所以,***的编写者及时调整了思路,把目光放到了动态链接程序库上,也就是说,把***做成 DLL 文件,然后由某一个 EXE 做为载体,或者使用 来启动,这样就不会有进程,不开端口等特点,也就实现了进程、端口的隐藏。本文以“DLL 的原理”“ DLL 的清除”“ DLL 的防范”为主题,并展开论述,旨在能让大家对 DLL ***“快速上手”,不在恐惧 DLL ***。好了,进入我们的主题。一, DLL 的原理 1,动态链接程序库动态链接程序库,全称: Dynamic Link Library ,简称: DLL ,作用在于为应用程序提供扩展功能。应用程序想要调用 DLL 文件,需要跟其进行“动态链接”;从编程的角度,应用程序需要知道 DLL 文件导出的 API 函数方可调用。由此可见,DLL 文件本身并不可以运行,需要应用程序调用。正因为 DLL 文件运行时必须插入到应用程序的内存模块当中,这就说明了: DLL 文件无法删除。这是由于 Windows 内部机制造成的:正在运行的程序不能关闭。所以, DLL ***由此而生! 2,DLL ***原理及特点把一个实现了***功能的代码写成一个 DLL 文件,然后插入到一个 EXE 文件当中,使其可以执行,这样就不需要占用进程,也就没有相对应的 PID 号,也就可以在任务管理器中隐藏。 DLL 文件本身和 EXE 文件相差不大,但必须使用程序( EXE )调用才能执行 DLL 文件。 DLL 文件的执行,需要 EXE 文件加载,但 EXE 想要加载 DLL 文件,需要知道一个 DLL 文件的入口函数(既DLL 文件的导出函数),所以,根据 DLL 文件的编写标准:EXE 必须执行 DLL 文件中的 DLLMain ()作为加载的条件(如同 EXE 的mian ())。做DLL ***基本分为两种: 1)把所有功能都在 DLL 文件中实现; 2)把 DLL 做成一个启动文件,在需要的时候启动一个普通的 EXE ***。常见的编写方法: (1) ,只有一个 DLL 文件这类***很简单,只把自己做成一个 DLL 文件,在注册表 Run 键值或其他可以被系统自动加载的地方,使用 来自动启动。 是什么?顾名思意,“执行 32位的 DLL 文件”。它的作用是执行 DLL 文件中的内部函数,这样在进程当中,只会有 ,而不会有 DLL ***的进程,这样,就实现了进程上的隐藏。如果看到系统中有多个 ,不必惊慌,这证明用 启动了多少个的 DLL 文件。当然,这些 执行的 DLL 文件是什么,我们都可以从系统自动加载的地方找到。现在,我来介绍一下 这个文件,意思上边已经说过,功能就是以命令行的方式调用动态链接程序库。系统中还有一个 文件,他的意思是“执行 16位的 DLL 文件”,这里要注意一下。在来看看 使用的函数原型: Void CALLBACK FunctionName ( HWND hwnd, HINSTANCE hinst, LPTSTR lpCmdLine, Int nCmdShow );其命令行下的使用方法为: DLLname,Functionname [Arguments] DLLname 为需要执行的 DLL 文件名; Functionname 为前边需要执行的 DLL 文件的具体引出函数; [Arguments] 为引出函数的具体参数。(2) ,替换系统中的 DLL 文件这类***就比上边的先进了一些,它把实现了***功能的代码做成一个和系统匹配的 DLL 文件,并把原来的 DLL 文件改名。遇到应用程序请求原来的 DLL 文件时, DLL ***就启一个转发的作用,把“参数”传递给原来的 DLL 文件;如果遇到特殊的请求时(比如客户端),DLL ***就开始,启动并运行了。对于这类***,把所有操作都在 DLL 文件中实现最为安全,但需要的编程知识也非常多,也非常不容易编写。所以,这类***一般都是把 DLL 文件做成一个“启动”文件,在遇到特殊的情况下(比如客户端的请求),就启动一个普通的EXE ***;在客户端结束连接之后,把 EXE ***停止,然后 DLL