Wireshark源码编译开发

发布于:2023-07-04 ⋅ 阅读:(257) ⋅ 点赞:(0)

一、搭建开发环境

可参考wireshark官网指导链接:Wireshark Developer’s Guide.
由于本人是新手,官网给出的安装并不十分详细,所以后来大部分参考的是这篇博文:搭建Wireshark开发环境(一).
上文给出了安装过程图片,比较详细,新手可参考。本文主要对上文做补充以及加上利用NSIS创建Wireshark安装程序的内容。

1、说明

  1. Wireshark开发使用了多个平台库,需要对其进行安装,约占内存15~20G;
  2. Win10与Win7都可进行,注意x86与x64的软件版本选择;

2、安装Visual Studio 2019

Visual Studio 下载链接:Visual Studio下载.
下载后进行安装,一路默认即可

3、安装Qt

Qt作用主要是应用程序的界面开发。Qt下载链接.
在这里插入图片描述
选择opensource-windows,下载安装,注意选择组件:
在这里插入图片描述

4、安装巧克力Chocolatey工具

Chocolatey相当于是工具下载软件,只需几条命令就可以将所需的大部分库和软件下载完成。
安装步骤如下:
在程序搜索框输入Powershell,管理员运行:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

5、使用Choco安装第三方软件

同样是在管理员身份运行的Powershell界面下运行以下命令:

  1. choco install -y winflexbison
  2. choco install -y git cmake
  3. choco install -y strawberryperl
  4. choco install -y python3
  5. choco install -y cygwin
  6. choco install -y cyg-get
  7. choco install -y asciidoctorj xsltproc docbook-bundle

尽量在网络良好的状况下安装,如果安装失败请多尝试几次,一般来说都没有什么问题。
查看已安装情况:

choco list -local-only

在这里插入图片描述

6、下载Wireshark源码

新建存放源码的文件夹,如C盘下的Development,使用win + r 运行cmd:

1. cd C:\Development
2. git clone https://code.wireshark.org/review/wireshark

在这里插入图片描述

使用“Visual Studio 2019”编译

打开命令行终端,管理员运行以下命令:VS2019 x64 Native Tools Command Prompt

1. set WIRESHARK_BASE_DIR=C:\Development
2. set QT5_BASE_DIR=C:\Qt\Qt5.9.5\5.9.5\msvc2017_64
3. set PLATFORM=X64
4. set WIRESHARK_VERSION_EXTRA=-MasterCom-x64
5. set WIRESHARK_CYGWIN_INSTALL_PATH=C:\ProgramData\chocolatey\lib\Cygwin\tools\cygwin
6. mkdir C:\Development\wsbuild64
7. cd C:\Development\wsbuild64
 
--会下载一系列环境工具到:C:\Development\wireshark-win64-libs
8. cmake -G "Visual Studio 16 2019" -A x64 ..\wireshark 
9. msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln

cmake成功
cmake编译成功如上图
在这里插入图片描述
项目生成成功
在这里插入图片描述
进入文件夹msbuild64/run/RelWithDebInfo,找到Wireshark.exe运行,即可查看软件情况。
后续开发,可借助Visual Studio 2019进行调试,开发

使用NSIS制作安装包

去官网下载NSIS:nullsoft scriptable install system
然后再下载NIS Edit界面编辑器
在这里插入图片描述
选择文件----新建脚本:
在这里插入图片描述
下一步,填写软件基本信息
在这里插入图片描述
设置图标与输出文件以及安装界面的语言
在这里插入图片描述
设置默认的安装目录及提示信息
在这里插入图片描述
添加要安装的文件
在这里插入图片描述
设置卸载界面
在这里插入图片描述
完成后编译脚本,即可生成一个基本的安装文件
在这里插入图片描述

三、所遇问题

1、 Microsoft.CppCommon.target:error MSB6006: “cmd.exe”已退出, 代码为1.

查看dissectors.log日志有以下信息:

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x82 in position 13473: illegal multibyte sequence

显示编码格式问题,指向文件‘make-regs.py’,加encoding=’UTF-8’
参考网址https://www.cnblogs.com/mengyu/p/6638975.html.

2、程序跨设备运行时“系统错误,无法执行程序,找不到VCRUNTIME140_1.dll,请重新安装此程序”

解决办法:利用软件everything查找到C:\Windows\system32下的VCRUNTIME140_1.dll,直接复制进程序运行路径下即可跨设备运行

四、总结

利用everything查找文件会更加便捷。无论遇到什么问题,多去网上查找,总会有方法解决。

本文含有隐藏内容,请 开通VIP 后查看