`
heartnn
  • 浏览: 34850 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
文章分类
社区版块
存档分类
最新评论

不要对我太狠——深入浅出windows的dll文件

阅读更多
来源: 黑基论坛

今天又中木马了,木马咋越来越多了,弄的我的心跋凉跋凉的,经过一查找,发现原来是一个名叫XX的木马,到木马存放目录下面,发现了一个dll文件,心想:小样的,你穿上马甲我也认识你,于是就单击--右键—删除。。。。一个dll文件就这样被删掉了,不要对dll太狠了,要知道这可是程序员的血汗啊。。为什么这样说呢?那我们先来认识一下什么是dll

dll实际上是动态链接库的缩写,从windows1.0开始,动态链接库就是整个操作系统的基础,那么这有什么作用呢?在dos时代,程序员是通过编写程序来达到预期的目的的,每实现一个目的就需要编写一个程序,这样下去,简单的还好,要是复杂的程序话,那乞不是既浪费时间,又浪费青春。于是聪明的程序员们想出了一个办法,把的实现一定功能的程序模块存放在一个文件当中,以API函数形式存放在dll当中,当编写程序的时候,需要用到这个功能,那么直接从这个文件当中调用就可以了,于是就出现了dll——动态连接库。

那么动态连接库有什么作用呢?

优点之一,上面已经提过了,程序员把一些模块压入dll文件之后,在要运行程序的时候只需要调用动态链接库就可以了,而并不需要把dll加载到内存中,节省了大量的内存空间,可以方便运行其他的程序,许多朋友在关机的时候,一直关不了,整的郁闷,其实就是因为系统所调用的dll太多,导致了计算机性能的骤减,其实只需要把一些无关紧要的dll删除掉就可以了

优点之二,在一个很大的游戏中,通常需要调用许许多多的动态链接库来给玩家一个美观震撼的效果,《极品飞车9---最高通缉》让本文作者我感受到了一种从来没有感受过的感觉,那种感觉就象是初恋的味道,画面效果棒极了。可是要实现这样一个效果,需要许多程序员编写不同的dll来互相协助,那么这些dll可以用vc++,vb,Delphi,asm等等来完成,只要每个程序员负责编写一个功能,这样只要调用在一起就方便多了,节省了大量的人力,物力,财力。

既然dll有这么多好处,而且又这么方便,我那木马的程序员又做出过什么呢?他只不过

调用了系统的dll函数罢了(windwos系统中有3个非常重要dllkernel32.dlluser32.dllgdi32.dll其中包括windows系统诸多功能的函数)

呵呵,其实话不能这样说。木马的编写者也需要有很深的工夫哦,那么我们现在以黑客之门做为一个例子来看看,这个例子需要的工具depend walker,可以在黑客基地论坛黑客兵器库http://bbs.hackbase.com/viewthread.php?tid=2860045&fpage=1下载

我们首先来看看用depend walker打开黑客之门的动态链接库

我们发现,在左边的hkdoordll.dll下面的树状结构,显示出了黑客之门所调用的dll列表,从这里不难发现,其实dll也可以调用dll。那么dll我们可以把他看做是一个exe文件,只是少了一个入口函数而已(就暂且这样理解)

分支下有分支,而右边中间的那4个东东,这个是dll的输出函数表,在function栏目下的是输出函数的名称,因此,我们可以很容易发现,黑客之门hkdoordll.dll主要负责4个方面的任务。DllRegisterServer DllUnRegisterServer ServiceMain DllCanUnloadNow

然而这对于一个后门来说已经够了,这需要作者有足够的编程知识,我们再一次向作者致敬。分享了这样一个环保无污染的后门。

通过对上面的知识的理解。我们可以发现其实,dll可真算是一个大宝库,不要对他太狠,一看到可疑的就丢到垃圾筒里去了。其实dll文件还可以盗用哦。盗用的工具,可以在黑客基地论坛黑客兵器库http://bbs.hackbase.com/viewthread.php?tid=2859649&fpage=1下载

我们用他来打开黑客之门的dll,可以看到他的版权等等,对于有位图,音乐,图表,对话框的dll,我们也可以看到他里面的全部内容。我们可以修改版权,更换位图,更换音乐,更换对话框,总之只有你想不到的,没有你做不到的。

那么既然dll被这样多程序调用,如果结束掉这个木马后门dll的调用过程,那么这个后门是不是没用啦,那回答当然是肯定的,那么如何知道DLL文件被几个程序使用呢?

我们只需要:

运行Regedit,进入HKEY_LOCAL_MACHINE\Software\Microsrft\Windows\Current-Version\SharedDlls子键查看,其右边窗口中就显示了所有DLL文件及其相关数据,其中数据右边小括号内的数字就说明了被几个程序使用,(2)表示被两个程序使用,(0)则表示无程序使用,可以将其删除。

嘿嘿,这下知道window优化大师那分析dll的原理了吧。

在黑客基地论坛的新手学堂里,经常看到有人求助:我的搜索栏什么也不能显示了,怎么办啊?如图

其实那是因为dll没有注册造成的。

只需要在开始---运行—然后注册两个dll然后重新启动就可以了,具体方法是

regsvr32 vbscript
regsvr32 jscript


当你看到跳出个对话框,里面写着,vbscript 中的dllregister server成功的时候,说明已经注册成功了

什么?还要注册?或许你看到这里开始疑问了,这什么注册啊?是不是象进入一个论坛,需要注册一个帐号才能进入一样呢?

其实系统里面的dll是分为两类的。一类是需要注册的,一类是不需要注册的。

大多数都是通过命令regsvr32来注册的。而windows为了减少所调用的dll的数量,提升计算机的性能以及速度。通常只把几个重要的dll默认就注册了,不常用的dll需要你自己去注册。而注册之后,系统就可以调用他了,从而具有了相应的功能。

而当你认为你的计算机所调用的无用dll太多的时候,可以通过命令regsvr32 /u dll的名称来反注册。

有些朋友的爱机会出现这样的情况,在启动的时候,错误对话框中提示DLL文件丢失

这是因为在卸载文件时会提醒你删除某个DLL文件可能会影响其他应用程序的运行。所以当你卸载软件时,就有可能误删共享的DLL文件。一旦出现了丢失DLL文件的情况,如果你能确定其名称,可以在Sysbckup(系统备份文件夹)中找到该DLL文件,将其复制到System文件夹中。如果这样不行,在电脑启动时又总是出现“***dll文件丢失……”的提示框,你可以在“开始/运行”中运行Msconfig,进入系统配置实用程序对话框以后,单击选择“System.ini”标签,找出提示丢失的DLL文件,使其不被选中,这样开机时就不会出现错误提示了。
分享到:
评论

相关推荐

    MFC经典书籍——深入浅出MFC

    《深入浅出MFC》是一本专为C++程序员设计的MFC(Microsoft Foundation Classes)经典教程,旨在帮助读者全面理解和掌握MFC框架,从而在Windows应用程序开发中游刃有余。MFC是微软公司提供的一个C++类库,它封装了...

    windows学习\VC__动态链接库(DLL)编程深入浅出2

    ### Windows学习:VC++ 动态链接库(DLL)编程深入浅出——非MFCDLL详解 #### 引言 动态链接库(Dynamic Link Library,简称DLL)是Windows操作系统中的一种共享库,允许多个应用程序共享相同的函数代码和数据。本文在...

    深入浅出MFC—— C++ 经典 光盘

    这本书通过深入浅出的方式,帮助读者理解和掌握MFC的精髓,从而在Windows平台上高效地进行C++编程。 首先,我们要理解MFC的基本概念。MFC是基于面向对象编程思想构建的,它将Windows API封装成易于使用的C++类。...

    深入浅出MFC(代码)

    MFC,全称为Microsoft ...提供的"深入浅出MFC(代码)"资源,很可能是包含了一系列示例代码,这些代码将帮助你逐步掌握MFC编程技巧,加深对MFC工作原理的理解。通过实践,你将能够构建功能丰富的Windows应用程序。

    VC++动态链接库(DLL)编程深入浅出.doc

    《VC++动态链接库(DLL)编程深入浅出》这篇文档深入探讨了VC++中动态链接库(DLL)的编程技术。DLL是一种可共享代码的库形式,它提供了一种方式,让多个程序能够访问同一段代码,从而节省内存资源和提高效率。DLL不同...

    MFC深入浅出——仅有的几本讲MFC原理的书之一

    ### MFC深入浅出——详解MFC原理与应用 #### MFC概述与重要性 Microsoft Foundation Classes (MFC) 是一套由微软开发的类库,主要用于简化Windows平台下的应用程序开发。MFC基于C++语言,提供了对Windows API的...

    MFC经典教材-深入浅出MFC

    ### MFC经典教材——深入浅出MFC #### 书籍简介 《深入浅出MFC》是一本由侯捷(侯俊杰)编写的经典教材,首次出版于1998年,旨在帮助读者深入了解微软基础类库(Microsoft Foundation Classes, MFC)的技术细节和编程...

    深入浅出MFC 源代码

    然而,由于MFC涉及到大量的C++类和Windows编程概念,对初学者来说可能会显得较为复杂,这就是《深入浅出MFC 源代码》的价值所在——帮助开发者理解并掌握MFC的精髓。 这个资源可能包含了对MFC源代码的逐行解释、...

    侯俊傑的深入浅出MFC

    《深入浅出MFC》是侯俊傑先生撰写的一本关于Microsoft Foundation Classes (MFC) 的经典教程。这本书深入解析了MFC库的设计理念、架构和实现机制,旨在帮助C++程序员更好地理解和应用这一强大的Windows应用程序开发...

    深入浅出MFC 高清pdf

    《深入浅出MFC》是侯捷先生撰写的一本关于Microsoft Foundation Classes (MFC) 的经典著作,旨在帮助读者深入理解和掌握这一强大的Windows应用程序开发框架。MFC是微软为简化C++开发者在Windows环境下编程而设计的一...

    Wince 深入浅出 以及wince驱动开发的一个课件

    这个课件深入浅出地介绍了Windows CE的基本概念、架构和开发过程,特别是针对驱动开发的部分,对于理解WinCE系统及其在硬件层面的工作原理至关重要。 1. **Windows CE概述**: Windows CE是一个可裁剪的操作系统,...

    VC++动态链接库编程深入浅出

    与静态链接库不同,DLL文件在运行时被加载到内存中,由多个进程共享,而不是被编译进每个使用它们的应用程序中。 2. **创建DLL项目** 在VC++环境中,可以通过创建一个新的工程类型——“Win32 Dynamic Link ...

    深入浅出MFC(二版)

    《深入浅出MFC(二版)》是一本专注于Microsoft Foundation Classes (MFC)的权威指南,旨在帮助读者深入理解并熟练运用这一强大的Windows应用程序开发框架。MFC是微软为C++开发者提供的一套库,它封装了Windows API...

    深入浅出MFC---侯捷

    **深入浅出MFC——侯捷** MFC(Microsoft Foundation Classes)是微软提供的一套C++库,用于简化Windows应用程序的开发。侯捷先生的《深入浅出MFC》是一本针对MFC深入理解的经典著作,它详尽地介绍了如何使用MFC...

Global site tag (gtag.js) - Google Analytics