设为首页 | 收藏本站
首页>IT学院>操作系统>正文
Windows系统的活动大陆:细看DLL文件
WWW.DBIT.CN 2006-10-20 9:49:26 热度:
 

1.看看DLL里有多少函数

第一步:下载并解压Depends,运行其中的depends.exe,然后选择菜单“File→Open”(文件→打开),在文件选择框中选中需要分析的DLL文件并打开,此处选择QQ目录下的QQZip.dll。

第二步:在程序左侧的树状栏中就列出了这个DLL使用了哪些其他DLL的功能函数(原来DLL中还可以调用其他DLL^O^),而右侧的两个分栏列表分别显示了函数输入及输出表,函数输出表即为该DLL提供给其他EXE或者DLL调用的函数的总列表。

第三步:函数输出表的Function栏中即为输出函数的名称(见图1),在QQZip.dll中共发现了2个函数:Unzip、Zip。因此可以判断该DLL在QQ程序中负责压缩和解压缩的任务。

图1 QQZip.dll中的函数

2.审审EXE究竟用了哪个DLL

还是拿QQ来作为例子,在Depends中打开QQ.exe,这时界面左侧的树状列表中显示的就是QQ.exe调用的DLL列表(见图2),如果展开这些DLL分支,还会发现其他的DLL,这就说明QQ调用的这些DLL文件还有可能(几乎是肯定)再调用别的DLL。这就好比买了一台新的DVD机,可能其中用的机芯是SONY的,而这个机芯里的一个小电容又有可能是别的公司的,这是同样的道理。

图2 QQ.exe所调用的dll

3.用DLL看穿EXE真面目

刚才得到了QQ.exe所使用的DLL列表,其实通过这个列表,还能分析出很多别的信息。比如其中包含MFC42.dll,所以可以判断QQ.exe是采用VC(即Visual C++)编写的,而包含WSOCK32.dll则说明这个程序带有网络通讯功能(废话!QQ如果不能网络通讯还有什么用……)。以下是一个简表,大家在分析别的EXE时可以根据其所使用的DLL来对其功能进行初步判断。

DLL文件名 可以判断出的EXE信息

  • MFC42.dll 使用VC5.0/6.0编写。
  • VBRun*.dll “*”代表数字版本号,使用VB3.0/4.0编写。
  • MSVBVM50.dll 使用VB5.0编写,在Windows 98(SE)上自带该DLL。
  • MSVBVM60.dll 使用VB6.0编写,在Windows Me/2000/XP等系统上自带该DLL。
  • ADVAPI32.dll 可能会进行注册表操作。
  • WSOCK32.dll 具备网络通讯功能。
  • WS2_32.dll 具备网络通讯功能。
  • WININET.dll 具备HTTP浏览、下载等功能,典型的例子是浏览器、下载工具。
  • WINMM.dll 具备多媒体播放能力。
  • DDRAW.dll 游戏、高级图像处理工具。
  • D3D*.dll 3D游戏,或者动画处理工具。
  • 4.DLL是个大宝库

除供应用程序调用函数的DLL外,还有另一种用来保存资源的DLL,比如QQ目录下的QQRes.dll,用Depends打开后发现没有任何输出函数,难道是一个鸡肋DLL?可是改用资源工具Resource Hacker(下载地址:http://www.onlinedown.net/soft/12420.htm)打开这个DLL后,就发现原来其中保存了这么多QQ的资源,包括图标、音乐、图片、字符串、对话框……(见图3)

图3 dll文件中包含的其他资源

刨根问底:DLL的寓言

DLL引起的故障是很常见的,为什么会引起故障?遇到故障怎么解决?嘘~偷听一下DLL的对话,你就会明白了。

1.从搬运工谈接口兼容性

在Windows工地上,有一个名叫EXE的包工头,他手下有很多称为DLL的建筑工人。其中有一个专门负责搬运的DLL(暂且称为“搬运工A”),每次需要搬运水泥时,包工头EXE都只要对他喊一声:“来!搬。”

过了一段时间,搬运工A觉得自己的效率太低,于是从原来的每次搬1袋水泥改成了每次搬3袋水泥。改进了搬运方法后,EXE包工头仍然每次只是喊一声:“来!搬。”却不知搬运工A已经改变了搬运的方法。

但又过了一段时间,包工头EXE把搬运工A给辞退了,从别的工地上找来了另一个DLL(暂且称为“搬运工B”)。这个搬运工在别的工地的时候,搬运东西特别快,所以包工头EXE决定把搬运工作给“升级”一下。但真正开始工作时,包工头才发现出了问题……现在不管叫几遍“来!搬。”这个新来的搬运工B都不知道究竟应该搬什么。

本新闻共3页,当前在第2页  1  2  3  

 
上一篇:Windows中让文件顺畅打开的三则妙招
下一篇:解决winXP系统关机蓝屏问题
打印】【关闭
  相关文章:
·Windows系统超级技巧 批量更改文件·用组策略强化Windows系统的三大技
·十件傻事将使你的Windows系统不安·巧用Windows性能监控来监视FTP空间
·重新注册DLL 修复Windows操作系统·Windows任务管理器开发原理与实现
·隐藏Windows XP的16个窍门·让Windows XP急速关机
·神不知鬼不觉地置换Windows XP用户·PC之王的足迹 Windows十年简史
·Windows系统运行中的七大秘籍·Windows服务器:切断默认共享通道七
·Windows工作流活动技术概览·让Windows寻找文件不再迷茫
·给Windows目录加口令的特殊方法·浅析Windows特殊类型文件
☆联姻学院☆

保养电脑的26个窍门
文件夹删除不掉怎么办?
教你如何用手工迅速剿灭QQ广告
“熊猫烧香”病毒的病毒描述和
在Excel中只打印图表以外区域
Excel中只选中包含文本的单元
Windows XP操作系统的几个实用
用XP系统自带网络诊断程序解决
风雨雷电→自然现象动画实战技
Flash遮罩特效之百叶窗效果
十二个Dreamweaver鲜为人知的
如何用 Dreamweaver 批量做we
JavaScript的系统函数学习
Java之父:关于Java我也有遗憾
排除网上邻居使用4大常见麻烦
解除上网限制IP和MAC捆绑的破