今天又中木马了,木马咋越来越多了,弄的我的心跋凉跋凉的,经过一查找,发现原来是一个名叫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. 我们首先来看看用depend walker打开黑客之门的动态链接库 我们发现,在左边的hkdoordll.dll下面的树状结构,显示出了黑客之门所调用的dll列表,从这里不难发现,其实dll也可以调用dll.那么dll我们可以把他看做是一个exe文件,只是少了一个入口函数而已(就暂且这样理解)分支下有分支,而右边中间的那4个东东,这个是dll的输出函数表,在function栏目下的是输出函数的名称,因此,我们可以很容易发现,黑客之门hkdoordll.dll主要负责4个方面的任务。DllRegisterServer DllUnRegisterServer ServiceMain DllCanUnloadNow 然而这对于一个后门来说已经够了,这需要作者有足够的编程知识,我们再一次向作者致敬。分享了这样一个环保无污染的后门。 通过对上面的知识的理解。我们可以发现其实,dll可真算是一个大宝库,不要对他太狠,一看到可疑的就丢到垃圾筒里去了。其实dll文件还可以盗用哦。 我们用他来打开黑客之门的dll,可以看到他的版权等等,对于有位图,音乐,图表,对话框的dll,我们也可以看到他里面的全部内容。我们可以修改版权,更换位图,更换音乐,更换对话框,总之只有你想不到的,没有你做不到的。