摘要

本文主要讲解利用Dependency Walker为Qt的exe程序添加dll,以使得其可以在客户的机器上运行。

Dependency Walker 程序的目录

PE模块依赖性分析

打开depends.exe,有3种方式引入待分析的文件:

  • File -> Open
  • 菜单栏 -> 文件夹图标
  • 将待分析的程序拖入depends程序界面

它可以分析exe或dll文件。

我这里拖入一个exe文件,弹窗报错。这是因为该exe文件所需的相应dll不在exe的当前目录下,也不再系统环境变量的目录下。

模块依赖性分析结果如下。对于Qt程序来说,左侧目录树一般展开3级就足够了。

​​依赖树的5种不同图标的含义

  • 链接的非系统库 
  • 链接的64位系统库 
  • 链接到的系统库的软链接(意思就是该库在父节点或者前面的子节点已经出现过了) 
  • 链接到的非系统库的软链接(意思就是该库在父节点或者前面的子节点已经出现过了) 
  • 链接到的库,但是找不到该库文件 

在打包程序的时候一般只需要复制非系统库到当前exe的目录下即可,也就是说找出图标为“非系统库”的DLL就好了()。

​​该可执行文件需要引用的DLL在Module面板的滑动条拉到最底处

  • libgcc_s_dw2-1.dll
  • libstdc++-6.dll
  • libwinpthread-1.dll
  • Qt5Core.dll
  • Qt5SerialPort.dll

查看该库的位置

​​在该库上右击 -> properties…(Alt + Enter) -> “xxx 属性”对话框 -> “安全”选项卡 -> 对象名称(即为该文件的目录了。

​​后来,在试验中发现,比如 Qt 的桌面程序,需要拷贝 plugins/platforms文件夹到该可执行目录下。platforms里面包含一些dll,但是在Dependency Walker PE中并不会显示出这些dll。如果不拷贝该目录的话会报错

​​plugins/platforms目录结构

  • ​qminimal.dll
  • qminimald.dll
  • qoffscreen.dll
  • qoffscreend.dll
  • qwindows.dll
  • qwindowsd.dll

Dependency Walker PE模块依赖性分析工具相关推荐

  1. [转]使用Dependency Walker工具查看DLL文件

    DLL是动态链接库的简称,每个DLL文件都相当于一个封闭的函数库.本文主要讨论如何使用DependencyWalker工具查看DLL文件内的导入函数与导出函数. DependencyWalker软件 ...

  2. DLL依赖性查看工具depends(dependency walker)

    前言 软件包中常含很多扩展名DLL的文件,这些就是经常说的"动态链接库",DLL是Dynamic Link Library(即"动态链接库")的缩写.从Micr ...

  3. 查找缺失的DLL工具Dependency Walker

    最近处理64位软件在32位的编译问题,遇到了一些dll加载不到(32位程序找不到对应的32位dll)导致程序启动不起来的情况,最后借助了工具Dependency Walker把问题找出来了,这里记录一 ...

  4. PEV - PE文件分析工具

    PEV 支持 Linux.Windows.MAC OS X  三种操作平台对PE文件进行分析. 下载地址: //本人推荐 :github 的代码,因为 这个 readme 更完整. https://g ...

  5. 病毒分析工具和使用方法(一)

    加壳验证工具 所谓病毒加壳,是指经过系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩.加密驱动程序),以达到缩小文件体积或加密程序编码,从而使病毒文件逃过杀毒 ...

  6. Dependency Walker使用说明[转]

    在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字--动态链接库.现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录, ...

  7. 查看依赖关系 dependency walker(depends)

    简单介绍 Dependency Walker是一个免费的实用工具,它可以扫描任何32位或64位Windows模块(EXE,DLL,OCX,SYS等),并建立所有相关模块的分层树形图.Dependenc ...

  8. 静态代码分析工具列表--常用静态代码分析工具介绍

    代码检测简介 本文是一个静态代码分析工具的清单,但是为公司产品需要付费使用.共有37个公司,有些公司包含多个工具.其中27个公司有多语言 工具,1个公司为PHP工具.2个公司为.NET工具.1个公司为 ...

  9. NLP-生成模型-2017-Transformer(二):Transformer各模块代码分析

    一.WordEmbedding层模块(文本嵌入层) Embedding Layer(文本嵌入层)的作用:无论是源文本嵌入还是目标文本嵌入,都是为了将文本中词汇的数字表示转变为向量表示, 由一维转为多维 ...

最新文章

  1. vs mfc数据与控件绑定错了_如何进行数据趋势分析?VS扩展工具——C1迷你图控件了解一下...
  2. hdu 5285 二分图黑白染色
  3. 思维导图 - 测试技术扩展:Postman接口测试、Sonar白盒测试、Sonic移动测试、Python操作FTP服务器
  4. (Easy) FizzBuzz LeetCode
  5. 计算机系统基础:程序与运算
  6. 活灵活现用 Git --技巧篇
  7. DropDMG for Mac(dmg打包软件)
  8. pytorch标签onehot编码_pytorch将标签转为onehot
  9. 计算机专业毕业设计题目大全 (各类型系统设计大全)
  10. 【计算机组成与设计:硬件/软件接口】第三章:计算机的算术运算
  11. VS2015,错误RC1015: 无法打开包含文件afxres.h
  12. win7系统配置smb服务器,技术编辑为你解说win7系统打开smb服务的解决方法
  13. 高级会计职称计算机考什么,会计高级职称考哪些科目
  14. Solidity 中的函数状态可变性
  15. 第7章第29节:四图排版:四张图片并列排版 [PowerPoint精美幻灯片实战教程]
  16. shoug oracle,oracle 浅谈索引
  17. 网上流量卡这么便宜,线上申请的流量卡有虚标吗
  18. Unity3D游戏开发之网络游戏服务器架构设计(如何做一名主程)
  19. kali终端打不开以及msfconsole打不开
  20. 2月综艺节目网络关注度榜出炉 《王牌对王牌》跃居榜首

热门文章

  1. 24BYJ48电机的使用,带驱动程序
  2. JavaScript:再谈Tasks和Microtasks
  3. posix_kill 信号
  4. 在C++项目中引入Lua(AlphaGo使用的方案)
  5. 手机安全卫士——进程管理
  6. ie6下js更新元素display:block后,仍然不显示的hack办法
  7. SqlBulkCopy与触发器,批量插入表(存在则更新,不存在则插入)
  8. 自动注册 IIS6 的 MIME 类型
  9. 让Exchange 2010 (2007适用)可以收发外部邮件
  10. 面试必问一:Java 中 == 和 equals 的区别你知道吗