98 lines
4.3 KiB
Markdown
98 lines
4.3 KiB
Markdown
---
|
||
title: WinUnLock 当前状态(截至 2026‑08‑20)
|
||
type: curated
|
||
permalink: main/projects/ea207d36-693c-4349-b3c8-7c40c8c889f5/curated/win-un-lock-当前状态截至-2026-08-20
|
||
stable_id: 8cf2657a-ec64-4715-88ab-281830560733
|
||
scope: project
|
||
project_id: ea207d36-693c-4349-b3c8-7c40c8c889f5
|
||
workspace_type: development
|
||
usage_profile_id: null
|
||
preference_context: development
|
||
document_type: current_state
|
||
revision: 4
|
||
source_memory_ids: []
|
||
source_checkpoint_ids:
|
||
- 037f0a1b-4e1a-464a-b90e-89760d92637b
|
||
- 648be109-d91c-4f4d-a336-c2f04432c3e3
|
||
source_file_ids: []
|
||
source_git_commit: null
|
||
source_git_commits: []
|
||
source_agent_sync_ids: []
|
||
model_connection: Sub2API
|
||
model_name: openai/gpt-oss-120b
|
||
source_count: 17
|
||
source_revisions:
|
||
memory:711881c1-544e-4195-9a1e-6439dbcd073a: '1'
|
||
memory:715e4eb8-48b7-4540-9a75-5be72eeb0c7e: '1'
|
||
memory:8d83fdf5-683a-41ce-94ed-da186cf32c71: '1'
|
||
memory:4163f161-0f27-476a-bf98-ba407de20919: '1'
|
||
memory:8db18267-0c12-4446-bfe8-f2f755752c09: '1'
|
||
memory:aafb5b5c-34b4-49fd-8aaf-e8933f7b424e: '1'
|
||
source_dispositions:
|
||
processed: 17
|
||
unchanged: 0
|
||
unsupported: 0
|
||
skipped: 0
|
||
cited_source_ids:
|
||
- curated_baseline:8cf2657a-ec64-4715-88ab-281830560733
|
||
- memory:8db18267-0c12-4446-bfe8-f2f755752c09
|
||
- memory:aafb5b5c-34b4-49fd-8aaf-e8933f7b424e
|
||
- memory:8d83fdf5-683a-41ce-94ed-da186cf32c71
|
||
- memory:4163f161-0f27-476a-bf98-ba407de20919
|
||
- memory:711881c1-544e-4195-9a1e-6439dbcd073a
|
||
- memory:715e4eb8-48b7-4540-9a75-5be72eeb0c7e
|
||
- curated_baseline:baa442ef-76f5-4390-a518-067156d17d3a
|
||
job_cited_source_ids:
|
||
- curated_baseline:8cf2657a-ec64-4715-88ab-281830560733
|
||
conflicts: []
|
||
supersedes: []
|
||
preferences: []
|
||
source_cursor: 103
|
||
source_hash: 4a64fd2a22cf52c37c2891c452140220e743d62d9ef477be0616d478b8794785
|
||
prompt_version: 2026-08-12.3
|
||
schema_version: '3'
|
||
curation_job_id: baa81064-94f7-44f6-b35a-2ea79347e1a8
|
||
created_at: '2026-08-20T02:26:16.121631+00:00'
|
||
updated_at: '2026-08-24T10:11:13.248874+00:00'
|
||
tags:
|
||
- development
|
||
- current_state
|
||
---
|
||
|
||
# WinUnLock 当前实现状态
|
||
|
||
## 基本信息
|
||
- **工作区路径**:`E:\code\WinUnLock`(Git 分支 `main`,HEAD `09662c8`,工作区干净)
|
||
- **安装方式**:Rust 编写的安装器 `winunlock-admin.exe`(已不再使用 PowerShell 脚本)
|
||
- **开发工具链**:`rustc 1.94.1`、`cargo 1.94.1`、`stable-x86_64-pc-windows-msvc`
|
||
|
||
## 构建产物
|
||
| 产物 | 大小 |
|
||
|------|------|
|
||
| `provider.dll` | 586 752 B |
|
||
| `client.exe` | 518 656 B |
|
||
| `setup.exe` | 647 680 B |
|
||
| `winunlock-admin.exe` | 279 552 B |
|
||
|
||
## 测试结果(2026‑08‑24)
|
||
- `cargo test --release --target x86_64-pc-windows-msvc`:全部 **14** 项测试通过(`common` 13、`provider` 1),0 失败。
|
||
- `cargo build --release --target x86_64-pc-windows-msvc`:构建成功。
|
||
- `winunlock-admin.exe --help` 与 `setup.exe --help` 均返回退出码 **0**,中文帮助信息正常显示。
|
||
|
||
## 关键验证要点(面向 VM 的端到端测试前复验)
|
||
1. **账户要求**:必须使用可手动解锁的本地文本密码,不能使用 PIN。推荐使用本地管理员账户。
|
||
2. **快照**:在安装 Credential Provider 前创建 VM 快照,以便失败后快速恢复。
|
||
3. **凭据文件**:`cred.bin` 必须在目标 VM 内由 `setup` 生成,禁止跨机器复制。
|
||
4. **安装/配置步骤**
|
||
- `winunlock-admin.exe install --unlock-time HH:MM`(管理员终端)
|
||
- `%PROGRAMDATA%\WinUnLock\bin\setup.exe --account ".\\用户名"`,交互输入密码生成 `cred.bin`。
|
||
- 锁屏(Win+L),约 3 分钟后观察自动解锁;成功后检查 `client.log` 与 `provider.log`。
|
||
5. **故障排查要点**
|
||
- 无 `provider.log` → DLL 未加载或未注册。
|
||
- `client.exe` 退出码 **10** → 命名管道不存在(通常是未锁屏的正常情况)。
|
||
- Provider 收到凭据但未提交 → 检查 `CredentialsChanged/GetCredentialCount` 链路。
|
||
- 提交后失败 → 检查账户格式、密码或认证包问题。
|
||
6. **卸载**:管理员运行 `winunlock-admin.exe uninstall`;如出现锁屏异常,可恢复 VM 快照或在安全模式/WinRE 删除对应 CLSID 注册项。
|
||
7. **ACL 注意**:安装器会收紧 `%PROGRAMDATA%\WinUnLock` 的 ACL,仅保留 `SYSTEM`/`Administrators`,后续 `setup` 必须在管理员终端执行。
|
||
|
||
*信息来源:`curated_baseline:8cf2657a-ec64-4715-88ab-281830560733`* |