首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

软件资讯设计 工具 系统 开发 安全 办公 陶吧 IT教育 Vista频道 | 下载中心酷我音乐盒 腾讯QQ
天极网 > 软件频道 > 网络安全频道 >木马静态变动态 DLL木马程序大揭秘

木马静态变动态 DLL木马程序大揭秘

2005-09-07 15:55作者:出处:天极Blog责任编辑:原野

  相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?

  一、从DLL技术说起

  要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码集合(通用代码)放进一个独立的文件里,并把这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。

天极软件专题专区精选
Windows Vista专区 POPO专区 QQ专区 QQ挂机 注册表应用专区
Flash MX 视频教程 Photoshop视频教程 网页设计视频教程 照片处理数字暗房
PPT动画演示教程 Excel动画教程集 Word动画演示教程 Google专区
特洛伊木马专区 黑客知识教程专区 防火墙应用专区 了解Web2.0
Windows API开发专区 网络编程专区 VB数据库编程专区 图像处理与多媒体编程

  时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的方法来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软绕了个圈子,并没有采取把库文件加进程序的方法,而是把库文件做成已经编译好的程序文件,给它们开个交换数据的接口,程序员写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来,在我们看来,就像是程序自己带有的功能一样。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。

  DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。

  二、应用程序接口API

  上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽最大可能的减少了代码的重复。用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。

关注此文的读者还看过:

返回软件频道首页

共3页。 1 2 3 下一页 末页

软件频道最新更新

热点推荐

IT嘉年华

编辑推荐

热门
推荐

网友关注

软件
资料
游戏

装机推荐

文章排行

本周
本月
最新更新

软件资讯

操作系统 | 设计在线 | 工具软件
IT教育  | 开发频道 | 网络安全
办公软件 | 网页陶吧 | 资讯中心
产品中心 | 每周周刊 |
 有道词典 QQ直播   |  酷狗音乐 Winamp | QQ MSN
 暴风影音美图秀秀 | 搜狗拼音 | Winrar | 迅雷 | Skype
 金山毒霸 |  光影魔术  | FoxmailPPfilm | WMP | PPS  
 瑞星杀毒酷我音乐  | PPLiveFirefox傲游 | 快车
群乐:Office | QQ  | MSN | QQ空间代码 | 你问我答 | 工具 | 壁纸大全 | 系统软件 | 防毒杀毒PS菜鸟园地 | 黑客 | 照片后期处理 | 开发PC靓化 | Vista | WPS | Windows 7 | Windows XP | Linux | Excel | Word | Powerpoint | Photoshop | Outlook | Flash设计秀场
天极服务| 关于我们| About us| 网站律师| 电子杂志| RSS订阅| 友情合作| 加入我们| 网站地图| MSN/QQ上看天极
TMG
Copyright (C) 1999-2009 Yesky.com, All Rights Reserved
版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868 在线提交意见反馈
渝ICP证B2-20030003号  通用网址:天极网
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众
经营性网站备案信息 网警备案 中国网站排名
去去去