科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道动态链接库 Windows的活动大陆

动态链接库 Windows的活动大陆

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!

作者:狂ρκ 来源:enet 2008年2月26日

关键字: Windows Server Windows 2003 Windows 动态链接库

  • 评论
  • 分享微博
  • 分享邮件
 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程序中负责压缩和解压缩的任务。

动态链接库 Windows的活动大陆

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

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

动态链接库 Windows的活动大陆  


  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游戏,或者动画处理工具。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章