“DLL技术”木马进程内幕大揭密
来源:瑞星反病毒资讯网 作者:佚名 出处:综艺读书 2007-07-24很多朋友还是不知道“DLL木马”是什么东东。那到底什么是“DLL木马”呢?它与一般的木马又有什么不同?带着这些疑问,一起开始这次揭密之旅吧!
一、追根溯源从DLL说起
|
|
|||
技术永远是在发展的,静态链接技术由于无法避免的弊端,不能满足程序员和编程的需要,人们开始寻找一种更好的方法来解决代码重复的难题。随着Windows系统的出现, Windows系统使用一种被称为“动态链接库”(Dynamic Link Library)的新技术,它同样也是使用库文件,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软把库文件做成已经编译好的程序文件,给它们开发一个交换数据的接口。程序员编写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。这样,写出来的程序就不能再携带一大堆无用的垃圾了。
DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了庞大的Windows系统。如果Windows依然使用静态链接技术,那将是不可想象的。
二、什么是API
在前面提到的“接口”又是什么呢?因为DLL不能像静态库文件那样塞进程序里,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,为每个DLL文件都明确地标注好它的功能名称,程序只要根据标准规范找到相关的名称进行调用就行了,这就是API(Application Programming Interface)应用程序接口,每个DLL带的接口都不尽相同,最大限度地减少了程序代码的重复。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。
三、DLL与木马
DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。
当然,DLL文件是没有程序逻辑的,其实DLL并不等于EXE。不过,依然可以把DLL看做缺少了main入口的程序,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。
四、DLL的运行
虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。
相关图文阅读
频道图文推荐
相关专题
·彻底解决services.exe进程病毒 (6218次浏览)
·smss.exe和lsass.exe及捆绑病毒介绍及查杀 (5464次浏览)
·Worm.Mail.Brontok.d (2002次浏览)
·Worm.Mail.Vagan (1948次浏览)
·请注意:感染熊猫烧香千万别重装系统 (1904次浏览)
·Trojan.PSW.Lmir (1815次浏览)
·警惕!武藤兰背后,隐藏着危机! (989次浏览)
·Hack.Vampire.12 (845次浏览)
·手工完全卸载Norton Antivirus (838次浏览)
·Trojan.CorrupteLite.10.Edit (828次浏览)
·smss.exe和lsass.exe及捆绑病毒介绍及查杀 (5464次浏览)
·Worm.Mail.Brontok.d (2002次浏览)
·Worm.Mail.Vagan (1948次浏览)
·请注意:感染熊猫烧香千万别重装系统 (1904次浏览)
·Trojan.PSW.Lmir (1815次浏览)
·警惕!武藤兰背后,隐藏着危机! (989次浏览)
·Hack.Vampire.12 (845次浏览)
·手工完全卸载Norton Antivirus (838次浏览)
·Trojan.CorrupteLite.10.Edit (828次浏览)
·彻底解决services.exe进程病毒 (6218次浏览)
·smss.exe和lsass.exe及捆绑病毒介绍及查杀 (5464次浏览)
·Worm.Mail.Brontok.d (2002次浏览)
·Worm.Mail.Vagan (1948次浏览)
·请注意:感染熊猫烧香千万别重装系统 (1904次浏览)
·Trojan.PSW.Lmir (1815次浏览)
·警惕!武藤兰背后,隐藏着危机! (989次浏览)
·Hack.Vampire.12 (845次浏览)
·手工完全卸载Norton Antivirus (838次浏览)
·Trojan.CorrupteLite.10.Edit (828次浏览)
·smss.exe和lsass.exe及捆绑病毒介绍及查杀 (5464次浏览)
·Worm.Mail.Brontok.d (2002次浏览)
·Worm.Mail.Vagan (1948次浏览)
·请注意:感染熊猫烧香千万别重装系统 (1904次浏览)
·Trojan.PSW.Lmir (1815次浏览)
·警惕!武藤兰背后,隐藏着危机! (989次浏览)
·Hack.Vampire.12 (845次浏览)
·手工完全卸载Norton Antivirus (838次浏览)
·Trojan.CorrupteLite.10.Edit (828次浏览)
·彻底解决services.exe进程病毒 (6218次浏览)
·smss.exe和lsass.exe及捆绑病毒介绍及查杀 (5464次浏览)
·巧妙清除并防范局域网中的ARP病毒 (3624次浏览)
·Worm.Mail.Brontok.d (2002次浏览)
·Worm.Mail.Vagan (1948次浏览)
·请注意:感染熊猫烧香千万别重装系统 (1904次浏览)
·Trojan.PSW.Lmir (1815次浏览)
·警惕!武藤兰背后,隐藏着危机! (989次浏览)
·Hack.Vampire.12 (845次浏览)
·手工完全卸载Norton Antivirus (838次浏览)
·smss.exe和lsass.exe及捆绑病毒介绍及查杀 (5464次浏览)
·巧妙清除并防范局域网中的ARP病毒 (3624次浏览)
·Worm.Mail.Brontok.d (2002次浏览)
·Worm.Mail.Vagan (1948次浏览)
·请注意:感染熊猫烧香千万别重装系统 (1904次浏览)
·Trojan.PSW.Lmir (1815次浏览)
·警惕!武藤兰背后,隐藏着危机! (989次浏览)
·Hack.Vampire.12 (845次浏览)
·手工完全卸载Norton Antivirus (838次浏览)
最新技术文档
·专家支招彻底防范ARP病毒反复发作 07-24
·“DLL技术”木马进程内幕大揭密 07-24
·金山将推金山U霸 集成杀毒股市5大软件 07-22
·警惕!武藤兰背后,隐藏着危机! 07-22
·Exploit.Dcom.bi 07-22
·Trojan.Spy.Win32.PVStealth.cd 07-22
·Worm.Niklas.n 07-22
·Trojan.LMir.Wizzad.dll.b 07-22
·Trojan.Furier10.confwin 07-22
·Trojan.CorrupteLite.10.Edit 07-22
·“DLL技术”木马进程内幕大揭密 07-24
·金山将推金山U霸 集成杀毒股市5大软件 07-22
·警惕!武藤兰背后,隐藏着危机! 07-22
·Exploit.Dcom.bi 07-22
·Trojan.Spy.Win32.PVStealth.cd 07-22
·Worm.Niklas.n 07-22
·Trojan.LMir.Wizzad.dll.b 07-22
·Trojan.Furier10.confwin 07-22
·Trojan.CorrupteLite.10.Edit 07-22
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容




