{“content”:”---\nname: tightvnc-windows-cli\ndescription: TightVNC Windows CLI 管理与密码认证问题排查\n---\n\n# TightVNC Windows CLI 管理\n\n## 安装状态\n- MSI 下载:C:\\Users\\Sozo\\tightvnc.msi\n- 服务:tvnserver(HNetCfg.NATUPnP)\n- 端口:5900 (VNC), 5800 (Java viewer)\n\n## 已知问题:VNC 密码认证失败\n\n症状: VNC 连接建立后,认证被拒绝(代码1)。\n\n原因: TightVNC 的密码存储格式是内部自加密,不是标准 VNC DES。\n- 标准 VNC:密码经 crypt() DES 加密生成 8-byte key\n- TightVNC:密码经 vncauth_pw_encrypt() 加密(固定 key 0xdeadbeef,DES + XOR)\n\n正确认证算法(Python):\npython\nimport subprocess, struct\n\ndef encrypt_tightvnc_password(password: str) -> bytes:\n p = subprocess.run(\n ['openssl', 'enc', '-des-ecb', '-K', 'DEADBEEFDEADBEEF', '-nopad'],\n input=password.encode(), capture_output=True\n )\n key = bytearray(p.stdout[:8])\n key[0] ^= 0x13; key[1] ^= 0xA7; key[2] ^= 0x04; key[3] ^= 0x3E\n for i in range(8): key[i] ^= [0x57, 0xD4, 0x6B, 0xF8, 0x59, 0x98, 0x3F, 0x27][i]\n # 返回 hex 大写字符串(注册表格式)\n return ''.join(f'{b:02X}' for b in key)\n\n\n注册表路径: HKEY_CURRENT_USER\\Software\\TightVNC\\Server\n- 值名:Password(REG_SZ,16字符hex = 8字节密码)\n\n## 下一步方向\n1. 用 TightVNC 源码里的 C 实现编译成 exe,在 PC 上运行生成正确密码\n2. 或者用 Python 的 pycryptodome / openssl 实现精确的 TightVNC 加密算法\n3. 另一种方案:AnyDesk(已装,ID: 994884284)无人值守模式已配置,但 session 需批准\n\n## MSI 安装命令(供参考)\npowershell\nmsiexec /i tightvnc.msi /qn ADDITIONALOPTIONS=\"\"\n\nMSI 不支持 /PASSWORD= 参数,不能通过静默安装设置密码。\n”}