简介:RDPWrap-master.zip 是一套面向 Windows 10 20H2(19042.630/660)系统的远程桌面多用户破解工具,主要解决家庭版或未授权版本无法同时开启多个远程桌面会话的问题,适合需要多人并行远程连接同一台主机的运维人员、测试人员及个人用户使用。压缩包共 71 个文件,约 6.76MB,包含 29 个 exe 可执行程序、14 个 ps1 脚本、7 个 bat 批处理、5 个 ini 配置文件以及 txt、md、chm 等说明文档,覆盖安装、卸载、自动更新、配置检测等完整环节。其中 rdpwrap.ini 可单独替换以快速更新版本适配,配合 RDPConf、RDPCheck 等工具能直观验证破解状态与连接效果。目前已有 679 人学习下载,资源提供了从安装部署到状态排查的完整工具链,便于读者快速完成多用户远程桌面环境搭建与后续版本维护。
1. RDPWrap 多用户远程桌面:从解压到跑通,我踩过的版本坑
RDPWrap 这个工具,做 Windows 运维的基本都绕不开。它解决的是一个很具体的痛点:Windows 家庭版默认只允许一个用户远程登录,一旦第二个人连上来,当前会话就被踢掉。RDPWrap 通过替换 termsrv.dll 的校验逻辑,把多用户并发远程桌面这个能力解锁出来。听起来简单,但真正装起来,版本匹配、ini 配置、服务重启顺序,每一步都能让人翻车。我第一次装的时候,系统更新完补丁,RDPWrap 直接失效,远程连不上,只能跑到机房接显示器救回来。从那以后我就养成了习惯:装之前先确认系统版本号,装完立刻验证termsrv.dll的版本是否在支持列表里。这篇笔记适合两类人:一是刚接触 RDPWrap、想给家里或小团队机器开多用户远程的开发者;二是装过但被版本更新搞崩过、想搞清楚怎么排查和恢复的运维。下面按实际安装流程走一遍,把版本选择、配置参数、常见报错都拆开讲。
2. 环境准备与版本确认:先看清系统底子再动手
2.1 确认 Windows 版本和 termsrv.dll 版本号
RDPWrap 能不能用,核心就一件事:你的termsrv.dll版本号是否在rdpwrap.ini的支持列表里。很多人下载完直接双击 install.bat,结果服务起不来,就是因为没对版本。先查系统版本:
# 以管理员身份打开 PowerShell,查看系统版本和内部版本号 winver # 或者用命令查更精确的版本 systeminfo | findstr /B /C:"OS Name" /C:"OS Version"输出里会看到类似OS 名称: Microsoft Windows 10 家庭中文版和OS 版本: 10.0.19045。记下这个内部版本号,后面配 ini 要用。
接着查termsrv.dll的文件版本:
# 查看 termsrv.dll 的详细版本信息 powershell -Command "(Get-Item C:\Windows\System32\termsrv.dll).VersionInfo.FileVersion"常见输出如10.0.19041.3636。这个号才是决定 RDPWrap 能否工作的关键。rdpwrap.ini里每个[10.0.19041.3636]段落对应一组偏移量,版本对不上,服务启动后远程桌面会直接报错或者仍然只允许单用户。
提示:Windows 每次大版本更新或累积补丁都可能改
termsrv.dll版本。装完 RDPWrap 后如果系统自动更新了,远程桌面突然只能单用户,第一件事就是重新查这个版本号。
2.2 下载与解压 RDPWrap-master.zip
拿到RDPWrap-master.zip后,不要直接在压缩包里运行。先解压到一个固定目录,比如C:\RDPWrap。解压后目录结构大致如下:
| 文件/目录 | 作用 |
|---|---|
| install.bat | 安装 RDPWrap 服务并替换配置 |
| uninstall.bat | 卸载服务、恢复原始 termsrv.dll 配置 |
| RDPWInst.exe | 实际执行安装/卸载的二进制程序 |
| rdpwrap.ini | 核心配置文件,包含各版本 termsrv.dll 的偏移量 |
| RDPConf.exe | 图形化配置和状态查看工具 |
| RDPCheck.exe | 本地验证远程桌面是否可连 |
解压后先别急着运行 install.bat。我一般会先打开rdpwrap.ini,用 Ctrl+F 搜一下刚才查到的termsrv.dll版本号。如果搜不到,说明这个 ini 文件太旧,需要先更新 ini 再安装。更新 ini 的常见做法是去 RDPWrap 的社区维护仓库找最新版本,或者手动把新版本的偏移量段落追加进去。
2.3 安装前的权限与杀软处理
install.bat 需要管理员权限,否则写不进System32目录。右键点击 install.bat,选择「以管理员身份运行」。另外,部分安全软件会把 RDPWInst.exe 当成风险程序拦截,导致安装中途失败。常见做法是临时关闭实时防护,或者把C:\RDPWrap目录加入白名单。
还有一个容易忽略的点:如果系统之前装过其他远程桌面补丁工具,先运行 uninstall.bat 清理干净,再装 RDPWrap。否则服务注册表项冲突,RDPConf 会显示Not listening或者Not installed。
3. 安装与配置:install.bat 之后必须做的三件事
3.1 运行 install.bat 并检查服务状态
以管理员身份运行 install.bat,窗口会快速闪过几行输出,然后关闭。不要以为闪完就装好了。打开 services.msc,找到Remote Desktop Services服务,确认它处于「正在运行」状态。如果没运行,手动启动一次。
接着运行 RDPConf.exe,这是判断安装是否成功的核心工具。正常状态下,RDPConf 窗口里三行状态应该全是绿色:
Listener state: ListeningService state: RunningWrapper state: Installed
如果Wrapper state显示Not installed,说明 install.bat 没写进去,通常是权限不够或者杀软拦截。如果Listener state显示Not listening,多半是termsrv.dll版本和 ini 不匹配。
# 命令行方式检查 RDPWrap 服务是否注册成功 sc query TermService # 查看 RDPWrap 相关服务 sc query RDPWrapperTermService是 Windows 自带的远程桌面服务,RDPWrapper是 RDPWrap 注入的包装服务。两个都要在运行状态。
3.2 配置 rdpwrap.ini:版本匹配与偏移量修正
rdpwrap.ini是 RDPWrap 的灵魂。它的结构是按termsrv.dll版本号分段的:
[10.0.19041.3636] LocalOnlyPatch.x64=1 LocalOnlyOffset.x64=8A0B1 LocalOnlyCode.x64=jmpshort SingleUserPatch.x64=1 SingleUserOffset.x64=1A2B3 SingleUserCode.x64=Zero DefPolicyPatch.x64=1 DefPolicyOffset.x64=... DefPolicyCode.x64=CDefPolicy_Query_eax_rcx每个版本段落的偏移量都是针对该版本termsrv.dll的二进制布局算出来的。如果 ini 里没有你的版本,RDPConf 会显示红色Not supported。解决办法有两种:一是找已经有人算好的新版本 ini 段落,直接追加到文件末尾;二是自己用反汇编工具算偏移量,这个门槛较高,一般运维不会走这条路。
我一般会先看 ini 文件末尾有没有[PatchCodes]段落,里面定义了jmpshort、Zero这些补丁码的含义。如果手动追加新版本段落,要确保补丁码名称和[PatchCodes]里定义的一致,否则服务启动会报错。
注意:修改
rdpwrap.ini后,必须重启RDPWrapper服务才能生效。重启命令:net stop RDPWrapper && net start RDPWrapper。如果服务名不对,用sc query查一下实际注册的服务名。
3.3 防火墙与远程桌面端口的放行
RDPWrap 装好后,远程桌面默认监听 3389 端口。如果连不上,先检查防火墙:
# 查看防火墙规则里是否有远程桌面放行 netsh advfirewall firewall show rule name="远程桌面" # 如果没有,手动添加 netsh advfirewall firewall add rule name="RDP" dir=in action=allow protocol=TCP localport=3389另外,系统属性里的「远程桌面」开关必须打开。家庭版默认隐藏了这个选项,RDPWrap 安装后会解锁它。右键「此电脑」→「属性」→「远程设置」,确认「允许远程连接到此计算机」已勾选。
如果修改了默认端口(比如改成 13389),除了防火墙放行,还要改注册表:
# 修改远程桌面端口为 13389 reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 13389 /f改完端口后,连接时要用IP:13389的格式。这一步不是必须的,但公网机器上常见做法是改端口降低被扫描概率。
4. 避坑与排查:RDPWrap 装完不生效的五种情况
4.1 现象:RDPConf 显示全绿,但远程仍然只能单用户
原因:termsrv.dll版本和 ini 段落匹配,但系统启用了「仅允许运行使用网络级别身份验证的远程桌面的计算机连接」这个选项,导致多用户补丁被绕过。
解决:打开「远程设置」,取消勾选「仅允许运行使用网络级别身份验证的远程桌面的计算机连接」。或者用注册表关闭:
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f改完重启TermService服务。
4.2 现象:install.bat 运行后 RDPConf 显示 Not installed
原因:权限不足或杀软拦截,RDPWInst.exe 没有成功写入System32目录。
解决:以管理员身份重新运行 install.bat,临时关闭杀软实时防护。如果仍然失败,手动把RDPWInst.exe复制到C:\Windows\System32,然后在管理员命令行里执行RDPWInst.exe -i。
4.3 现象:系统更新后 RDPWrap 失效,远程桌面报错
原因:Windows 累积更新替换了termsrv.dll,新版本号不在当前rdpwrap.ini支持列表里。
解决:重新查termsrv.dll版本号,更新rdpwrap.ini。如果找不到对应段落,先运行 uninstall.bat 卸载 RDPWrap,恢复系统原始远程桌面,等 ini 更新后再装。不要硬撑着用旧 ini,否则可能导致远程桌面服务崩溃。
4.4 现象:RDPConf 里 Wrapper state 显示 Installed 但 Service state 是 Stopped
原因:RDPWrapper服务启动失败,通常是 ini 文件格式错误,比如段落重复、补丁码未定义、偏移量写错。
解决:用记事本打开rdpwrap.ini,检查最近修改的段落。常见错误是复制粘贴时漏了[PatchCodes]里的定义,或者版本号写成了10.0.19041.3636但实际是10.0.19041.3636(多空格)。修正后重启服务。
4.5 现象:多用户登录后,第一个用户被踢掉
原因:SingleUserPatch没生效,或者DefPolicyPatch的偏移量不对。这种情况通常发生在 ini 版本和termsrv.dll版本「接近但不完全匹配」时,比如用10.0.19041.3636的段落去套10.0.19041.3693的 dll。
解决:不要混用版本。要么找到精确匹配的段落,要么回退系统补丁到匹配版本。我一般会在虚拟机里先验证 ini 段落是否可用,确认没问题再推到生产机器。
5. 验证跑通:用 RDPCheck 和实际连接做最终确认
装完 RDPWrap 后,不要只信 RDPConf 的绿灯。我一般会走三步验证,确保真的能多用户并发。
第一步,在本机运行 RDPCheck.exe。它会尝试用127.0.0.1:3389建立一个本地远程桌面连接。如果弹出登录窗口并能正常进入桌面,说明 RDPWrap 的监听和补丁至少在本机层面是通的。如果 RDPCheck 报错,RDPConf 再绿也没用。
第二步,用另一台机器实际连接。找一台同网段的电脑,用mstsc连接目标机器的 IP。登录第一个用户后,不要断开,保持会话。然后用第三个设备或另一个账号再连一次。如果第二个连接能正常进入桌面,且第一个会话没有被踢,说明多用户补丁生效了。
第三步,检查事件查看器。打开「事件查看器」→「Windows 日志」→「系统」,筛选来源为TermService的事件。正常多用户登录时,会看到会话 ID不同的登录记录。如果看到会话被断开或会话重影相关错误,说明补丁还有问题。
# 查看当前远程桌面会话列表 query session # 输出示例: # SESSIONNAME USERNAME ID STATE TYPE DEVICE # services 0 Disc # console 1 Conn # rdp-tcp#0 user1 2 Active # rdp-tcp#1 user2 3 Activequery session的输出里,如果能看到两个rdp-tcp#开头的会话同时处于Active状态,且用户名不同,那就说明多用户远程桌面已经跑通了。这一步比任何图形界面都直观。
提示:验证时尽量用两个不同的用户账号。同一个账号重复登录,Windows 默认会接管原会话,看起来像是「只能单用户」,其实是账号策略问题,不是 RDPWrap 的问题。
从那以后我每次装完 RDPWrap,都会强制走一遍query session确认双 Active 会话,再让用户去连。这个习惯帮我省掉了无数次「装完说好了,结果一用就踢人」的返工。希望帮到你。
本文还有配套的精品资源,点击获取