WINSOCK PACKET EDITOR
WPE x64 是一款开源的 Winsock 封包拦截与编辑软件、可自适应 32 / 64 位目标程序、支持修改并转发任意终端程序的网络封包
系统要求
在开始之前,请确认你的运行环境满足以下条件:
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 / 11 · Server 2019 / 2022 · x64 |
| 运行库 | .NET Framework 4.8(Win10 / 11 自带) |
| 界面运行时 | Microsoft Edge WebView2:Win11 自带、Win10 通常随 Edge 已有。缺失时程序会引导安装,不随包分发 |
| 权限 | 管理员权限(启动时自动检测) |
| 目标程序 | 32 位 / 64 位均支持,自动匹配注入 |
下载与安装
免安装。 下载到的是压缩包 WPE64 v2.2.zip(60.85 MB),解压后是一个 单文件启动器 WPE64 2.2.exe,不进「添加或删除程序」:
- 到 下载中心 走 蓝奏云 或 百度网盘 下载最新版。
- 在下载到的 zip 上右键「属性 → 解除锁定 → 应用」,再解压 ——解压之前 先做这一步(忘了的话,解压后在 exe 上做同样的操作)。
- 双击解压出来的
WPE64 2.2.exe,在 UAC 提示上选「是」。首次运行(或换了版本)会带进度窗把程序释放到%LOCALAPPDATA%\WPE64\app\<版本>-<哈希>\,然后自动启动WinsockPacketEditor.exe。 - 之后每次双击都会先校验文件大小、自动修复缺失或损坏的文件,再启动程序,并删掉没在运行的旧版本目录。
释放出来的目录里除主程序外还有注入用的 EasyHook、中间人引擎 SunnyNet、IP 归属地库与界面本体 wwwroot\——注入与界面都要按路径找这些文件,所以它们必须真实落在硬盘上。卸载 = 删掉启动器与 %LOCALAPPDATA%\WPE64\(配置库另在 C:\WPE64DB\)。
① 先解锁再解压。 不解锁就解压运行,Zone.Identifier 标记会跟着落到释放出来的文件上,注入时报 Code 15。补救:解锁启动器,删掉 %LOCALAPPDATA%\WPE64\app\ 下对应的版本目录,再运行一次。
② 必须管理员权限。 注入、加载驱动、装根证书都要提权,双击启动器时就会弹 UAC。
③ 第一次打开是白的? 那是缺 WebView2 运行时——程序会弹一个三步指引并一键打开微软官方的安装引导,装完重开即可。
软件 不会自动检查或下载更新。要升级就到下载中心下载新版压缩包,解压后双击启动器,它会释放到新的版本目录,并顺手删掉没在运行的旧版本目录。
注意配置库按版本号分文件存放,升级后配置不会自动继承——升级前请先在旧版用「备份设置」导出,详见教程 怎么升级到新版本。
两种拦截模式
WPE x64 提供两种拦截网络封包的模式,按场景选择:
WPE 自己起 SOCKS5 与 HTTP 代理服务,支持 HTTP/HTTPS/WS/WSS/TCP/TLS-TCP/UDP;内置 CA 解密 HTTPS,另有本地 / 远程映射、代理账号、防火墙与远程管理 Web 台。
把钩子注进目标进程,从内部截下 WinSock 的收发;用「选择文件」挂起启动时,连启动阶段的封包都抓得到。支持各类模拟器,按目标位数自动选用 32 / 64 位动态库。
拦截你的第一个封包
以注入模式为例,四步完成:
- 双击启动器,在启动页点 注入模式,再挑一种注入方式:选择进程(在弹出的进程表里双击目标)/ 选择窗体(在屏幕上点目标窗口)/ 选择文件(挂起启动一个还没跑起来的程序)。
- 附加成功后点状态条上的 开始拦截,封包实时进入 封包列表;命中滤镜的行按动作着色(替换=洋红、换包=琥珀、拦截=红、只显示=青,可在 系统设置 里改)。
- 选中一行,下半部的十六进制面板就是这一条的字节;右键菜单里有「编辑」「查看数据修改」「添加到滤镜列表」「添加到发送」等。
- 配置 滤镜 或 机器人,让改写与重发自动执行。
代理模式配置
代理模式没有配置文件,全部开关都在「设置 ▾ → 代理设置」里。出厂默认值是这样:
监听地址:自动检测(TCP 监听 0.0.0.0,端口对局域网也可见)SOCKS5:启用 · 端口 1080 · 身份认证 开 # 要先建一个代理账号HTTP 代理:启用 · 端口 1081 # HTTPS 由内置 CA 做中间人解密系统代理:关 # 这个开关立即生效,不等「保存」点状态条上的 开始代理 起服务,再让目标程序连上面那个地址与端口即可;程序本身不支持设代理时,用「进程设置」里的 强制转代理 按进程名或 PID 接管。
软件特色
SOCKS 代理与进程注入两条路径,确保各种场景都能拦到 Winsock 封包。
抓到的封包先排队、再由界面分批取走显示,抓包本身不会被界面拖慢;流量很大时列表也能稳定滚动。
特征串滑动搜索、一条包里可命中多处,支持半字节通配、排除、递进与随机值,改写还能改变封包长度。
按顺序执行一组指令:发送封包、延迟、循环、键盘鼠标模拟、开关别的列表。
「查看数据修改」并排看改写前后,文本对比页按字节或按行求最短编辑脚本;列表支持文本 / 十六进制 / 正则查找。
可直接注入各类模拟器,获取模拟器及其内部程序的网络封包。
- 代理模式同时提供 SOCKS5 与 HTTP 代理,HTTPS 由内置 CA 解密;可按 URL 做本地 / 远程映射,也能把出口再级联给上游 SOCKS 代理。
- 一个实例注入一个目标;要同时盯几个程序,用 多开设置 给每份实例指定不同的数据库,再各自注入。
- 支持批量发送封包,可自定义顺序与循环次数,并支持导入导出与备注。
- 设置按下「保存」即写入数据库,各份列表在退出时与每 10 分钟自动保存一次;系统日志实时记录并可导出。
- 免安装:程序需要的文件都在释放出来的那个目录里,退出时会关掉系统代理、卸载注入的钩子、把进程从驱动里摘掉并把配置写回数据库。
典型使用场景
同一套抓包 / 改包能力,落到不同的活儿上走的路径并不一样。下面四类是 WPE x64 最常被用到的场合,每一类都标了 该走哪种模式 与 从哪一章读起:
自己写的客户端 / 服务端对不上,或第三方 SDK 的行为与文档不符时,直接看线上真实字节,比在两端加日志快得多。
在 已获授权 的前提下,构造异常长度、越界数值与畸形字段,检验目标对坏数据的处理;或核对敏感信息有没有明文外传。
- 模式:代理模式(可解 HTTPS、可按账号隔离流量)
- 入口:代理模式 · 滤镜 · 该交给谁改
能力边界 · 它做不到什么
比起「能做什么」,先知道 做不到什么 更省时间——下面这些不是配置没调对,是机制上就到不了:
| 做不到 | 为什么 | 可以怎么办 |
|---|---|---|
| 抓不走 Winsock 的流量 | 注入模式挂的是 ws2_32.dll 等用户态收发函数。内核态驱动直接发包、或走独立网络栈的程序绕过了这一层 | 改用代理模式,或用 强制转代理 在驱动层把它导过来 |
| ICMP · Ping · 原始套接字 | 这类流量不经过 WinSock 的 send / recv 系列函数,代理协议里也没有对应通道 | 超出 WPE 的处理范围,需改用链路层抓包手段 |
| 注入模式下看 HTTPS 明文 | 钩子挂在 send / recv 上,此时数据已被 TLS 加密,拿到的就是密文 | 换 代理模式,由内置 CA 做中间人解密 |
| 用滤镜改 HTTP(S) / WebSocket 的内容 | 滤镜的作用类别只有 12 个开关,不含这三类,它们不参与匹配 | 用 映射设置 改响应体或重定向目标 |
| 解开 App 自带证书校验的 HTTPS | 证书绑定(SSL Pinning)只认程序内置的那张证书,与系统信不信任无关 | 只能当 TCP 流量观察,或从进程内部想办法 |
| QUIC / HTTP3 的明文 | 它跑在 UDP 上,WPE 抓得到字节,但载荷由 QUIC 自己加密 | 让目标回落到 TCP + TLS,再走代理模式解密 |
| 在 macOS / Linux 上运行 | 整套实现依赖 Windows 的 WinSock API、.NET Framework 4.8 与内核驱动 | 在 Windows 虚拟机里跑 |
| 免管理员权限使用 | 注入别的进程、加载驱动、写系统证书存储都需要提权 | 没有替代方案,程序会自动请求提权 |
网上那些说法,哪些对得上
搜「WPE 是什么」能找到不少综述文章,其中相当一部分讲的是二十年前那个 1.x 版本,或者干脆是转述转述再转述的结果。对照一下:
| 常见说法 | 对 WPE x64 而言 |
|---|---|
| 「只支持 TCP,对 UDP 支持很弱」 | 不对。 注入模式挂了 sendto / recvfrom / WSASendTo / WSARecvFrom;代理模式实现了完整的 SOCKS5 UDP 中继,滤镜里 UDP 请求与响应也是独立的作用类别 |
| 「工作在网络层 / 驱动层拦截数据包」 | 不准确。 两种模式都在 应用层:注入是挂钩 WinSock 函数,代理是自建 SOCKS5 / HTTP 服务。只有 强制转代理 用到内核驱动,作用是把流量 导向 代理,而不是直接读包 |
| 「只能抓 IPv4」 | 不对。 SOCKS5 的地址类型支持 IPv4 / IPv6 / 域名三种,TCP 与 UDP 都是 |
| 「抓包会拖慢或搞崩目标程序」 | 看模式。 代理模式不碰目标进程;注入模式确实会把拦截模块加载进目标进程并挂钩收发函数,带反注入保护的程序可能因此异常,点「停止拦截」即卸载全部钩子。详见 常见问题 |
| 「WPE 就是外挂 / 作弊器」 | 是用途不是工具属性。 同一套能力在自研程序上叫协议调试,在别人服务器上未经授权地用就是违规甚至违法。见下节 |
合规使用
本软件为开源工具,仅限个人用于计算机网络编程的研究与学习,不可用于商业活动,切勿用于任何违法行为。
抓包与改包本身是中性的工程手段,是否合规取决于 你对目标有没有授权。动手之前先过一遍这几条:
- 授权边界:只对 自己开发的程序、自有服务器、测试环境,或已获得书面授权的目标 使用。对第三方线上服务抓包改包,即便只是「看看」,也可能已经越界。
- 游戏与反作弊:在联网游戏里使用任何抓包 / 改包工具都可能被判定为异常并导致封号,这与工具本身是否开源无关。本项目不为此类用途提供支持。
- 数据合规:抓到的流量里可能混有账号、令牌、身份信息与支付数据。请勿留存、传播或用于原定调试目的之外的任何场景;样本用完及时清理。
- 不得转为攻击手段:篡改他人通信、伪造交易、绕过认证等行为已超出调试范畴,需自行承担法律责任。
- 开源许可:本项目以 MIT 许可发布,作者不对使用后果承担责任;二次分发请保留许可声明。
关于与致谢
Winsock Packet Editor 由 X-NAS 于 2021 年发布并维护至今,2022 年从吾爱破解论坛迁移至 GitHub 与 Gitee,现以 MIT 许可形式发布。
开源致谢:EasyHook · SunnyNet。本项目已加入 DotNet Guide 列表与 dotNET China 组织。
下一步
- 阅读 2.2 完整使用教程,从安装、注入抓包、代理服务到滤镜、机器人与仓库的图文步骤(旧版 1.0.0.36 另有 PDF 存档)。
- 前往 下载中心 查看各历史版本与更新日志。
- 在 GitHub 提交 issue 或参与共建。