Files
MemRelay/projects/ea207d36-693c-4349-b3c8-7c40c8c889f5/curated/WinUnLock 当前状态(截至 2026‑08‑20).md
T

99 lines
4.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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: 1
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: git-restore
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: null
created_at: '2026-08-20T02:26:16.121631+00:00'
updated_at: '2026-09-23T15:12:07.936280+00:00'
tags:
- development
- current_state
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
---
# 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`*