{“content”:”---\nname: tightvnc-password-failed\ndescription: TightVNC Server 密码设置失败记录 — 注册表密码值为明文但认证被拒,原因未明\ntags: [tightvnc, windows, vnc, remote-control]\n---\n\n# TightVNC Server 密码设置失败记录\n\n## 环境\n- PC: Windows 10 Home, 账号 Sozo\n- IP: 100.83.112.84\n- TightVNC 2.8.85.0 (64-bit)\n- 服务 tvnserver 运行中,端口 5900/5800 监听\n\n## 发现\n\n### 注册表位置\n- HKLM\\SOFTWARE\\TightVNC\\Server 下:\n - Password (REG_BINARY, 8 bytes)\n - PasswordConfigured (REG_DWORD = 1)\n - UseVncAuthentication (REG_DWORD = 1)\n\n### 关键问题\n写入 ASCII 码 “Jade5577” 的 8 字节到 Password 后,VNC 认证时:\n- Challenge 能收到\n- 用 pyDes DES-ECB 加密后发送正确 response\n- 但服务器返回 auth code 1(认证失败)\n\n### 尝试过的方法\n1. 直接写注册表:写入明文密码字节(Jade5577 → 4A-61-64-65-35-35-37-37)→ 认证失败\n2. MSI 安装时传参:SET_PASSWORD=1 VNC_PASSWORD=... → 参数无效,密码未设置\n3. MSI 完全重装:卸载后重装 → 没有自动生成密码,注册表 Server 键存在但属性为空\n4. 无密码连接(Type 1 None):服务器不支持 type 1,只支持 type 2 (VNC Auth) 和 type 16 (TightVNC)\n\n### 认证失败原因推测\nTightVNC 的 Password 注册表值不是明文密码,而是经过某种自加密的值。\n标准 RFB VNC 认证流程是:服务器发 16-byte challenge → client 用 8-byte DES key (即密码) 加密 challenge → 服务器验证。\nTightVNC 可能用密码做了内部转换(不是直接当 DES key 用)。\n\n## 结论\n在无法获取 TightVNC 源码的情况下,无法正确设置密码。\n\n## 下一步(未完成)\n- 找 TightVNC 源码确认密码加密逻辑\n- 或用 tvnserver.exe -setpassword 命令行工具(交互式,需要 GUI)\n- 或换用 RealVNC(支持 vnclicense.exe -add 批量设置)\n\n## 相关文件\n- PC 安装包:C:\\Users\\Sozo\\Downloads\\tightvnc-server.msi\n- PC 安装目录:C:\\Program Files\\TightVNC\\\n- 临时脚本(已传 PC):C:\\Users\\Sozo\\AppData\\Local\\Temp\\set_tvnpass.py\n”}