虽然我不是医生,但我还是要提醒你,长期折腾串流这种东西,以后会怎么样我也不知道,因为我一开始就说过了,我不是医生。
动机

前不久购入了PS5手柄,但遇到了两个困难。
- dual sense需要有线连接才能在PC上体验到索尼游戏原生的自适应板机等等特性
- 我想在Mac上用ps5手柄打游戏
几经辗转后找到了Virtualhere这一工具,可以建立USB over IP的TCP连接,传输内容覆盖几乎所有USB信号。手柄也自然不在话下
测试工具
此工具不支持Safari浏览器,可以通过WebHID测试dual sense的自适应板机是否已经完美支持
Virtualhere
几乎完美的软件
这个软件提供了几乎完美的USB over IP方案,在串流场景中,如果想要将手柄远程连接到运行游戏的主机上,需要正确配置server、client,建立公网连接,并且最好使用Reverse Client模式。
与串流相反的是,提供USB信号(手柄连接)的设备应该作为Server,而运行游戏的主机作为Client。两端分别是不同的安装包,Server端如果不购买许可证会有种种的限制。(如无法连接多个Client,无法使用Reverse Client模式)
伟大的Reverse Client
在串流场景中,运行Sunshine的机子一般是具有公网IP的(当然也可能你是组网方案)。而在virtualhere中,是接收手柄信号的一方作为client去请求server的手柄信号,这需要client具备可连接的公网IP,这对闲暇时间拿流量串流想开一把的场景来说很不友好。
而Virtualhere通过Reverse Client解决了这个问题,让server端反向连接client,发送手柄信号就好了嘛(不过这个功能需要许可证而且没写在订阅页面,我tmd排障排了一万年看log才发现的)
弱智的许可证方案
这个软件最SB的地方在于它的许可证制度。Client不需要许可证,Server按照设备计算许可证,基于每个设备的序列号生成对应的license。没有账号,设备重装系统许可证就失效,多设备必须买多个许可证。
49 USD激活一个设备,而且重装系统就没了,如果我想用MAC、手机、平板串流完美使用手柄,那我需要为他们购买三个许可证并且不能重装系统。我买的PS5手柄都才50刀啊???
我理解发达国家的订阅费用,也理解这个优秀项目的开发维护成本,但是按设备计费你怎么不去抢啊(
破解流程
破解原帖
在国内论坛、blog都翻了个遍,要么资源收费要么链接过期,一路溯源找到了破解分享的4pda原帖
https://4pda.to/forum/index.php?showtopic=913362&st=20
通过LLM翻译阅读了帖子内容,大致了解了破解原理,但发现文件链接都404了,以为论坛已经臭掉了。
后来发现了reddit的帖子,得知404并不是死链,而是因为我没注册登录。
https://www.reddit.com/r/Piracy/comments/ebftqt/does_4pdaru_suffer_from_dead_links
注册后再下载,否则文件链接都会弹404。
注册不花钱,唯一比较难的就是俄语验证码,截图说我是盲人问一下gemini就好了
破解原理
为什么不走hook方案?
开发者非常优秀,做了很多软件被篡改的检测机制,强如毛子也没能在hook路线上打赢它
https://grimore.org/cracks/virtualhere_usb/3.5.4
替换设备序列号
毛子的各平台的破解方案基本都是基于替换设备序列号的,替换为一个密钥已知的设备序列号,然后使用已知的许可证密钥进行校验激活。
配置流程
神经病配置方法
上文提到,在使用场景中,只需要一端装server一端装client就好了。
但这个软件SB就SB在,它的server端并没有把设置选项全都给出。而是要通过client连上server,再在client的页面里进行配置。

如图,你需要在本机同时安装client和server,并用client添加一个localhost的地址,与本机的server连接后才能解锁完整的server设置面板,包括但不限于许可证激活等等(没错这个server激活需要先装个client才能操作)

多端破解
文件
https://wwaxq.lanzouv.com/iFYaW3rcoqxg

如果蓝奏云挂了去毛子论坛原帖下载就好了
Mac
1. Install VirtualHereServerUniversal.dmg
2. Launch app
3. On client USB Servers (right click) -> Licenses.. -> Enter Licence(s) youidserverhere,1000,MCECDgVxWIWwjupWASYVfVyCAg8Aps8kk/RDEQEdd75G/MU=
( youidserverhere replace s/n=yoysn )
3.1 You may check in terminal you may check (cat /Users/you username/config.ini) line License= can be exist
4. Replace vhusbdosx from this folder to /Applications/VirtualHereServerUniversal.app/Contents/MacOS
4.1 if you Mac is M1 and newer (ARM arch) need in terminal ( codesign -f -s - /Applications/VirtualHereServerUniversal.app/Contents/MacOS/vhusbdosx )
you need get ":replacing existing signature" on answer
5. Enjoy!
1. 安装 VirtualHereServerUniversal.dmg
2. 启动应用程序
3. 在客户端的“USB Servers”上(右键单击) -> 选择“Licenses..” -> 输入许可证:`youidserverhere,1000,MCECDgVxWIWwjupWASYVfVyCAg8Aps8kk/RDEQEdd75G/MU=`
(将其中的 `youidserverhere` 替换为你的序列号,即 s/n=你的序列号)
3.1 你可以在终端中检查(输入 `cat /Users/你的用户名/config.ini`),确认 `License=` 这一行是否已经存在。
4. 将当前文件夹中的 `vhusbdosx` 文件替换到 `/Applications/VirtualHereServerUniversal.app/Contents/MacOS` 目录下。
4.1 如果你的 Mac 是 M1 或更新的芯片(ARM 架构),需要在终端中执行以下命令:( `codesign -f -s - /Applications/VirtualHereServerUniversal.app/Contents/MacOS/vhusbdosx` )
你需要看到系统返回 `: replacing existing signature` 的提示。
5. 尽情使用吧!


实操卡点:修改无法保存,需要赋予终端“App 管理”或“完全磁盘访问”权限
在较新的 macOS 系统中,终端必须获得明确的授权才能修改应用程序包。
- 打开 Mac 的 “系统设置” (System Settings)。
- 在左侧菜单找到并点击 “隐私与安全性” (Privacy & Security)。
- 在右侧列表中找到 “App 管理” (App Management)(如果没有,请找 “完全磁盘访问权限” (Full Disk Access))。
- 点击进入后,找到 终端 (Terminal),将其右侧的开关打开。 (如果列表中没有终端,点击下方的
+号,在应用程序 -> 实用工具里找到并添加终端) - 系统可能会提示你输入密码或验证指纹。设置完成后,完全退出(Cmd+Q)并重新打开终端。
Linux
我还没神经病到在linux上打游戏,所以没实操,虽然兜里揣个树莓派让PS5伪无线连接貌似有点帅?
Windows
你都有第二台Windows了为什么非要串流到另一个Windows再玩呢。
我没实操,压缩包里有流程,流程也是替换server端的序列号,再用Client激活。
1. 使用压缩工具对对应架构的服务器文件 `vhusbd`(如 `vhusbdwin64.exe`)进行解包:`upx -d vhusbd`
如果系统报错,说明该服务器文件没有被压缩过,直接原样进行下一步的破解(patch)。
2. 使用激活工具(activator)破解对应架构的服务器文件 `vhusbd`:`activator vhusbd aaabbbcccddd`
,其中 `vhusbd` 是对应所需架构的 virtualhere 服务器文件(例如 `vhusbdarm`、`vhusbdmipsel`、`vhusbdwin64.exe` 等)
`aaabbbcccddd` 是服务器的序列号(可以随意输入)
系统会输出:
`License=aaabbbcccddd,0,XXXXXXXXXXXX`
`Public key patched.`(公钥已破解)
3. 使用压缩工具将破解后的 `vhusbd`(对应架构的服务器文件)重新压缩:`upx -9 vhusbd`
4. 在目标设备上启动这个破解好的对应架构的服务器,然后在另一台(或同一台)设备上启动客户端。
5. 在客户端的“USB Servers(USB 服务器)” -> “License(许可证)”选项中,查看服务器的真实序列号:例如 `USB Hub,s/n=123456789abcdef,1 device`
6. 使用激活工具(activator)生成许可证:
`activator xxx 123456789abcdef`
,其中 `xxx` 可以是任意名称
`123456789abcdef` 必须是上一步获取的服务器真实序列号
系统会输出:
`License=123456789abcdef,0,YYYYYYYYYYYYYYYY`
`Error: Failed to open executable file`(错误:无法打开可执行文件)
7. 在客户端的“USB Servers(USB 服务器)” -> “Licenses..(许可证..)” -> 输入密钥中,输入刚刚获取到的密钥:
`123456789abcdef,0,YYYYYYYYYYYYYYYY`
此时应该会显示授权成功的许可证信息:`USB Hub,s/n=123456789abcdef,unlimited devices`(无限制设备数量)
安卓
我制作了无试用限制的 Android 版 VirtualHere USB Server,内部库已打好补丁。不需要 ROOT 权限!!!不需要替换任何文件!!! 使用的是测试签名。
- 安装 apk
- 在 Windows 客户端的“USB 服务器” - “许可证”中查看 序列号:
USB Hub,s/n=你的序列号,1 device- 在 Windows 环境下运行破解工具:
activator.exe xx 63 你的序列号系统将输出:error patching xxLicense=你的序列号,63,XXXXXXXXXXXX- 在 Windows 客户端的“USB 服务器” - “许可证” - “输入密钥”中,输入获取到的密钥:
你的序列号,63,XXXXXXXXXXXX此时应该会显示许可证:Android Hub,s/n=你的序列号,63 devices完成。
Android 5 及以上版本: VirtualHere USB Server 4.5.8_crk.apk ( 3.53 MB ) Virtualhere_USB_server_4.8.0_crk.apk ( 6.91 MB )
Android 4.2.2 及以上版本: VirtualHere USB Server_2.9.8_crk.apk ( 5.18 MB )
成品图

成功使用Mac串流游玩死亡搁浅2,完美适配dual sense自适应扳机

Comments NOTHING