CN
v2.1.7
WPE_CORE_OS // FAQ

常见问题

从下载安装、注入与代理,到滤镜、发送与机器人,各类常见问题的 解决方案。若下方未能解决你的问题,欢迎到 GitHub 提交 Issues 或直接发邮件给 wpe64@qq.com 反馈。

一定要用管理员权限运行吗?

是。WPE x64 检测到自己不是管理员时会 自动以 runas 重启,不存在「以普通权限凑合用」的模式。注入需要向别的进程写入并挂钩,代理模式的强制转代理要加载内核驱动、装根证书要写系统证书存储,这几件事都绕不开管理员权限。

支持 macOS 或 Linux 吗?

不支持。WPE x64 是 Windows 专属 的:基于 .NET Framework 4.8 + WinForms,挂钩的是 Windows 的 WinSock API(wsock32.dll / ws2_32.dll / mswsock.dll),强制转代理用的也是 Windows 内核驱动。跑在 macOS / Linux 上的虚拟机里的 Windows 可以正常使用。

能抓手机 / 模拟器的包吗?

能,走 代理模式:把 WPE 的 SOCKS5 / HTTP 代理开在本机,手机或模拟器填上电脑的 IP 与端口,再装上 WPE 的根证书就能看到 HTTPS 明文。完整步骤、各平台证书安装方式与故障对照见教程 代理模式 · 抓手机 / 模拟器 / 另一台电脑的包

安卓模拟器还有更省事的一条路:模拟器本身就是 本机进程,可以直接用 注入模式 注入它,跳过整套代理与证书配置。

抓包会影响目标程序吗?两种模式哪个更「轻」?

取决于用哪种模式,这一点值得先想清楚:

  • 注入模式:WPE 的程序集会被 加载进目标进程 并替换 WinSock 函数入口。正常情况下目标程序照常运行,但它 确实被改动过——带反注入 / 反作弊保护的程序可能因此报错、闪退或判定异常。点「停止」会卸载全部钩子,目标程序恢复原状。
  • 代理模式:WPE 不碰目标进程,只是在网络路径上多一跳,对程序本身 侵入性最小。代价是目标必须愿意走代理(或用强制转代理接管),且保存进程设置时会断开它已建立的 TCP 连接。
// 提醒

在有反作弊机制的在线游戏里使用任何抓包 / 改包工具都可能触发处罚。请只在 自有程序、测试环境或已获授权的目标 上使用。

两种模式可以同时用吗?

同一个 WPE 实例里不行——首页选定模式后就直接进入对应窗口了。需要同时跑,就用 多开设置 给第二个实例指定另一个数据库路径,再启动一份 WPE 选另一种模式。两套配置各自独立,互不干扰。

网上说 WPE 只能抓 TCP、不支持 UDP,是真的吗?

那是在讲二十年前的 1.x 版本。WPE x64 对 UDP 是完整支持的:

  • 注入模式:除了 send / recv,还挂了 sendto / recvfrom / WSASendTo / WSARecvFrom 四个 UDP 收发函数。
  • 代理模式:SOCKS5 服务实现了完整的 UDP 中继,地址类型支持 IPv4 / IPv6 / 域名。
  • 滤镜:「发送到 / 接收自」(注入)与「UDP 请求 / UDP 响应」(代理)都是独立的作用类别,可以单独匹配和改写。

真正抓不到的是 ICMP(Ping)与原始套接字——它们不经过 WinSock 的收发函数,代理协议里也没有对应通道。完整清单见 能力边界

WPE 是工作在驱动层还是应用层?

两种模式 都在应用层,这一点常被网上的综述文章讲错:

  • 注入模式:把 Hook 程序集注入目标进程,替换 ws2_32.dll 等模块里收发函数的入口——挂的是 用户态 API,不是网络协议栈。
  • 代理模式:WPE 自己起一个 SOCKS5 / HTTP 服务,流量绕道过来,本质是一个 应用层代理
  • 唯一用到内核驱动的是 强制转代理(NFAPI / Proxifier / WinDivert),它的作用是把指定进程的连接 导向 代理,而不是直接读写数据包。

这个区别有实际后果:不走 WinSock 的流量 WPE 看不到,例如内核态驱动直接发包的程序。这类目标需要用强制转代理把它拽到代理侧,否则超出 WPE 的处理范围。

能一次抓到本机所有程序的流量吗?

不能,也不建议那样用。WPE 是 面向单个目标 的调试工具:

  • 注入模式 一次针对一个进程;要同时盯几个程序,用 多开设置 起多个实例,各自注入。
  • 代理模式 只看得到 主动走代理 的流量。想连不支持代理设置的程序也一起接管,用 强制转代理 按 PID 或进程名指定——它同样是白名单式的,不会无差别接管全机。

这是设计取向的问题:WPE 的价值在 能改、能重放,而不是抓得全。先用上面的办法把范围收到目标进程上,分析效率反而更高。

怎么安装?为什么找不到安装程序?

因为 不需要安装。WPE x64 是单文件绿色版:压缩包解压出来只有一个 WinsockPacketEditor.exe,双击就能跑,不写注册表、不进「添加或删除程序」。放哪个目录都行,不想要了直接删掉 exe 即可。

下载走 下载中心蓝奏云百度网盘(网盘需要提取码,页面上有)。完整步骤见教程 下载与安装

// 先解锁,再解压

压缩包从网上下来会被 Windows 打标记。解压之前 先在压缩包上右键「属性 → 解除锁定 → 应用」,否则标记会跟着落到 exe 上,注入时报 Code 15

怎么升级?以前的自动更新去哪了?

旧版本用过 ClickOnce 在线安装与自动更新,现在已经不用了。软件不会联网检查版本,也不会弹升级提示——升级就是手动下一个新的:

  • 下载中心 看更新日志,下载新版压缩包。
  • 解除锁定 → 解压 → 关掉正在运行的旧版(注入模式先「停止」并退出被注入的程序)→ 运行新的 exe。
  • 旧 exe 删不删都行,两个版本放一起并不冲突。
// 升级前先导一份配置

配置库是 C:\WPE64DB\<程序集版本>.db文件名跟着版本走。所以新版第一次打开时,滤镜、发送、机器人、代理账号都是空的——数据没丢,只是还在旧版本那个 .db 里。
迁移办法:在旧版 用「备份设置」导出 .sb到新版 导入。详见教程 怎么升级到新版本

注入报错 STATUS_INTERNAL_ERROR (Code: 15)

最常见的原因是 下载的文件被系统锁定:正确做法是在压缩包上右键「属性 → 解除锁定 → 应用 → 确定」之后 再解压。若已经解压过了,在解压出来的 WinsockPacketEditor.exe 上右键做同样的操作,或删掉重新解压一次。

另一种情况:曾用 多个版本 的 WPE64 注入过同一个进程。请退出所有注入程序、重启目标进程后再重新注入。

Windows 7 下注入后只显示空白界面

选中进程启动文件,右键「属性 → 兼容性」,勾选「以兼容模式运行」,下拉选择 Windows Server 2008,应用确定。若仍不行可尝试其它兼容模式。

启动或注入时崩溃退出

先尝试重启软件与电脑;若依旧,可删除配置文件夹后重试:

  • WPE64 配置:C:\Users\你的账号名\AppData\Local\X-NAS
  • 被注入软件配置:C:\Users\你的账号名\AppData\Local\被注入软件名称
// 注意

AppData 为隐藏文件夹,你可能需要先开启「显示隐藏文件」功能才能进入。

点「注入」后弹出「注入失败」

按顺序排查:① WPE 是否以 管理员权限 运行;② 目标是否有反作弊 / 反注入保护(有则改用 代理模式);③ 程序目录下 WPEHook.dllEasyHook32/64.dllEasyLoad32/64.dll 是否齐全;④ 压缩包是否已「解除锁定」;⑤ 看系统日志里的完整异常。

注入成功了,但点「开始」一个封包都抓不到

① 顶部信息条的 WinSock 版本 是否为空——只显示 WinSock 而没有 1.1 / 2.0 / Microsoft,说明目标进程还没加载任何 WinSock 模块,先让程序产生一次网络行为再重新注入;② 拦截设置 里对应的函数是否勾选(改完要「停止」再「开始」,挂钩只在点「开始」那一刻创建);③ 底部「过滤 :」计数在涨,说明被 过滤设置 挡掉了;④ 系统设置里的 极速模式 是否开着;⑤ 是否有滤镜的动作是「不修改 - 不显示」。

用「选择程序」注入后,目标程序像卡死了一样

正常现象。这种方式走的是 CreateAndInject,创建出来的是 挂起 的进程,点一次工具栏的 开始 才会唤醒它。

点「开始」提示「启动 SOCKS5 代理失败」

端口被占用,或选定的绑定 IP 不存在。换一个端口,或在 代理设置 里勾上「自动检测」。

保存代理设置时被拒绝

提示「代理类型未设置」→ 必须勾选 启用 SOCKS5 代理;提示「SOCKS 和 HTTP 端口不能相同」→ 把两个端口改成不同的值(默认 1080 / 1081)。

目标程序连上代理了,但抓不到封包

拦截设置 → 代理模式页的 TCP / UDP 请求响应是否勾选;② 过滤设置是否挡住(看「过滤 :」计数);③ 极速模式是否开着。

进程设置里选了进程,但滤镜不生效

必须启用 强制转代理 才能使用滤镜功能;同时要启用 HTTP 代理 才能拦截进程的数据——这两条在 进程设置 界面顶部的红字提示里已写明。

HTTPS 抓到的全是乱码

没有安装 WPE64 根证书。启动代理时系统日志里应出现「WPE64 证书安装成功」;其他设备(手机 / 另一台机器)需要用 代理设置 → 导出证书 导出后,手动安装为受信任的根证书。

驱动类型的单选框是灰的,改不了

驱动一旦加载就会锁定,必须先点「卸载驱动」再改。

// 注意

卸载驱动会 立即重启电脑,操作前请先保存好手头的工作。

WPC 的订阅号怎么获取?自己能建吗?

不能自己建,需要向订阅服务器申请开通。 订阅号库放在 订阅服务器 上,WPC 客户端与 WPE x64 主程序都没有签发能力。

它的作用是把一串订阅号映射到 你那台 WPE x64 代理服务端的公网地址:WPC 先拿订阅号去订阅服务器换地址,再去你的 WPE 拉节点列表、转发规则与公告。所以想让别人用 WPC 一键连到你的服务器,得先把服务器的公网 IP 与端口提交上去建档。

  • 申请方式:QQ 群 1121552990,或到 GitHub Issue 留言。
  • 有效期:订阅号带到期时间,过期后客户端解析不到服务器地址,需要续期。
// 不申请订阅号也能用

订阅只是省事,不是必需。不走订阅,把 SOCKS5 的 IP、端口、账号密码直接给使用者手动填进任意 SOCKS5 客户端,一样能连——少的只是「输入一串号就自动配好」的便利。完整说明见 代理客户端 · 订阅号从哪来

滤镜怎么都不命中

按顺序逐条检查:

  • 滤镜列表里的 启用开关 打开了吗?
  • 作用类别 至少勾了一个吗?勾的类别和要抓的包类别一致吗(注入模式勾「发送」,代理模式勾「TCP 请求」)?
  • 「指定类型」勾了套接字 / 长度 / 端口但填错值?这些是 AND 条件,全部要满足。
  • 数据表的 搜索行 为空?没有搜索内容永远不会命中。
  • 普通模式下下标是否 超出了封包长度?超出直接判不匹配。
  • 「滤镜执行模式 = 优先原则」时,前面已有滤镜命中就轮不到它——把它 置顶 试试。
  • 想改的是 HTTP / HTTPS / WebSocket 包?滤镜对这些类别无效,请改用 映射设置

滤镜生效了,但改错了字节位置

注意列标题 001 对应的是字节 下标 0,数偏移时记得减一。高级模式选「自发现有连锁的位置」时,修改表的列号是 相对锚点的偏移(锚点自身为 0,可为负数),不是绝对位置。

发送执行了,但成功数一直是 0

① 封包的套接字是否有效(> 0 且连接仍然存活);② 勾了「使用系统套接字」但没设置过 → 系统日志会写「系统套接字未设置」,先在封包列表右键「设置系统套接字」;③ 代理模式下 HTTP_* / HTTPS_* 类别 不支持发送

机器人点「执行」没有任何动静

看系统日志。出现 机器人指令 N 错误! [机器人名] 说明 校验没过,机器人会拒绝启动——最常见的原因是循环「开始 / 结束」没有配对,或者引用的发送项已被删除。

快捷键按了没反应

快捷键设置 里的「作用于」选对了吗(发送列表 / 机器人列表二选一);② 该组合键是否被别的软件全局占用;③ 对应序号的列表项存在吗(快捷键 1 = 列表第 1 项)。

抓包一多就卡顿,缓存区数字狂涨

按性价比从高到低依次尝试:

  • 列表设置 关掉两个「所属地」列(省掉 IP 归属地查询与国旗渲染,效果最明显)。
  • 打开「自动清理」并把阈值调小(默认 5000)。
  • 关掉「自动滚动」。
  • 标题栏的显示设置里关掉动画、阴影、文本高质量呈现。
  • 过滤设置 只显示关心的包。
  • 终极方案:打开 极速模式(界面不显示任何封包,但滤镜照常工作)。

导入备份提示「导入失败: 密码错误」

.sb 文件导出时设置了密码,导入时必须输入相同的密码。如果文件本来就没设密码,在弹出的密码框里直接点 取消 即可。

// 找不到答案?

以上问题在 使用教程 的对应章节里有更完整的上下文与配图说明。