# Ksword5.1 功能悬停提示词典

> 用途：面向 UI 悬停提示、帮助面板、功能索引和产品文档生成。每个功能项都提供“短提示 / 详细说明 / 实现方法 / 技术细节 / 注意事项”。
> 风险标记：低=只读展示；中=改变应用状态或配置；高=影响系统/进程/网络/注册表/服务；极高=R0、驱动、内核、强制删除、强制结束等能力。
> 使用建议：短提示可直接放入 setToolTip；详细说明可用于帮助弹窗；实现方法和技术细节可用于开发者帮助页。

---

## 1. 全局工作台与通用交互

### 主 Dock 工作区
- 风险等级：低
- 短提示：在可停靠工作台中切换进程、网络、内存、文件、驱动、内核等功能页。
- 详细说明：主 Dock 工作区把所有核心工具页组织成类似 IDE 的标签页，让用户在多个分析场景之间快速切换。
- 实现方法：MainWindow 使用 ADS Docking System 创建 CDockWidget，通过 createLazyDockWidget 先挂占位页，再在首次显示时创建真实内容。
- 技术细节：每个懒加载 Dock 带 ks_lazy_key 与 ks_lazy_initialized 属性；ensureDockContentInitialized 根据 key 创建页面；加载期间通过 kPro 显示进度。
- 注意事项：新增页面必须接入懒加载 key；真实控件只能在 UI 线程创建；耗时初始化应放入后台任务。

### 当前操作
- 风险等级：低
- 短提示：显示后台任务的当前步骤、状态和完成百分比。
- 详细说明：用于展示扫描、刷新、分析、删除、解锁、构建等长任务进度。
- 实现方法：业务代码调用 kPro.add 创建任务，再用 kPro.set 更新步骤和进度。
- 技术细节：进度支持 0~1 或 0~100；完成后任务卡片自动隐藏；kPro.UI 可用于阻塞式选择。
- 注意事项：失败路径也要设置结束状态；后台线程更新进度时要保证任务 ID 有效。

### 日志输出
- 风险等级：低
- 短提示：查看、过滤、复制、导出程序日志和 GUID 调用链。
- 详细说明：集中显示各模块写入的 info/warn/error/fatal 日志，方便定位失败原因。
- 实现方法：业务层创建 kLogEvent，通过 info/warn/err/fatal 流式日志和 eol 写日志。
- 技术细节：eol 自动采集文件、行号、函数；日志管理器按 revision 支持增量刷新；支持 GUID 调用链追踪。
- 注意事项：同一操作链应复用同一个 kLogEvent；日志中避免写入密码、Token、隐私数据。

### 即时窗口
- 风险等级：低
- 短提示：提供可编辑文本区域，用于临时记录、复制输出和查看详情文本。
- 详细说明：可作为调试记录、命令片段、导出预览或详细结果展示区域。
- 实现方法：主窗口创建 CodeEditorWidget 并放入辅助 Dock。
- 技术细节：支持行号、查找、替换、跳转、括号匹配和主题适配。
- 注意事项：详情/日志类窗口优先复用 CodeEditorWidget，避免主题样式不一致。

### 监视面板
- 风险等级：低
- 短提示：实时观察 CPU、内存、磁盘和网络趋势。
- 详细说明：用于执行扫描、抓包、内存搜索等任务时观察系统负载。
- 实现方法：主窗口定时采样性能数据并刷新曲线/卡片。
- 技术细节：CPU 可按逻辑核心展示；磁盘和网络适合用吞吐差分曲线。
- 注意事项：采样频率不宜过高；采样失败应降级显示而不是中断主功能。

### 全局主题
- 风险等级：低
- 短提示：切换浅色、深色或跟随系统主题。
- 详细说明：统一控制主窗口、菜单、弹窗、Tooltip、滚动条、按钮和 Tab 的视觉风格。
- 实现方法：SettingsDock 收集设置，AppearanceSettings 保存 JSON，MainWindow.applyAppearanceSettings 更新全局样式。
- 技术细节：QMenu 通过全局过滤器兜底样式；Tooltip 样式通过标记块替换；背景图路径支持相对和绝对路径。
- 注意事项：新增 QMenu/QDialog 必须显式设置可读背景；不要让全局样式破坏第三方控件布局。

### 启动最大化
- 风险等级：低
- 短提示：启动后自动最大化主窗口。
- 详细说明：适合需要同时查看多面板和大量表格数据的场景。
- 实现方法：启动后延迟调用 Win32 最大化命令或 Qt showMaximized。
- 技术细节：使用 QTimer.singleShot 等窗口显示后再执行，避免状态漂移。
- 注意事项：多显示器和高 DPI 场景要验证恢复行为。

### 自动请求管理员权限
- 风险等级：中
- 短提示：启动时自动通过 UAC 请求管理员权限。
- 详细说明：用于让驱动、服务、进程控制、注册表等高权限功能可用。
- 实现方法：启动早期检查 TokenElevation；未提权时用 ShellExecuteW 的 runas 重启自身。
- 技术细节：命令行参数通过 GetCommandLineW 提取并透传，避免丢失 --unlock 等参数。
- 注意事项：用户拒绝 UAC 时应继续普通启动或提示；不要出现普通/管理员双实例同时操作同一任务。

### 启动窗口缩放
- 风险等级：低
- 短提示：根据屏幕和 DPI 调整 Qt 界面缩放比例。
- 详细说明：改善高 DPI、小屏幕、远程桌面下的可读性。
- 实现方法：启动阶段读取配置并设置 Qt 缩放环境变量。
- 技术细节：优先 SetProcessDpiAwarenessContext，旧系统回退 SetProcessDPIAware。
- 注意事项：Qt 缩放通常需在 QApplication 创建前设置，很多变化需要重启生效。

### 滚动条宽度
- 风险等级：低
- 短提示：在窄版和宽版滚动条之间切换。
- 详细说明：窄版减少遮挡，宽版更容易拖拽。
- 实现方法：保存 use_wide_scroll_bars，主窗口拼接全局 QScrollBar 样式。
- 技术细节：宽版增加 width/height/radius；悬停态可扩展。
- 注意事项：全局滚动条样式会影响表格、树、编辑器和 Dock 控件。

### 滚动条自动隐藏
- 风险等级：低
- 短提示：滚动条默认细化显示，鼠标悬停时展开。
- 详细说明：用于减少信息密集页面的视觉干扰。
- 实现方法：全局样式表将普通态滚动条宽度设小，在 QScrollBar:hover 中扩大。
- 技术细节：handle 使用半透明颜色，hover 提高不透明度。
- 注意事项：必须确认滚动条仍容易点击；部分 Qt 样式对 hover 宽度变化支持不完全。

### 滑块滚轮调整
- 风险等级：低
- 短提示：控制鼠标滚轮经过滑块时是否直接改变滑块值。
- 详细说明：关闭后避免滚动页面时误改透明度、缩放等滑块；开启后适合精确调参。
- 实现方法：主窗口安装全局事件过滤器，读取 QApplication 属性 ksword_slider_wheel_adjust_enabled。
- 技术细节：过滤 QEvent::Wheel 和 QAbstractSlider。
- 注意事项：关闭时应让滚轮事件继续传递给父滚动区，不能简单吞掉事件。

---

## 2. 欢迎页

### 产品概览
- 风险等级：低
- 短提示：查看 Ksword5.1 的定位、版本、入口链接和快速说明。
- 详细说明：欢迎页展示 Logo、项目说明、版本信息、官网、仓库、交流群入口。
- 实现方法：WelcomeDock 使用 Qt 标签、按钮和图片资源构建页面。
- 技术细节：外部链接通过 QDesktopServices 打开。
- 注意事项：欢迎页不应依赖驱动、网络或管理员权限，避免影响首屏启动。

### 当前用户展示
- 风险等级：低
- 短提示：展示当前 Windows 用户和头像信息。
- 详细说明：用于确认当前运行上下文和权限账户。
- 实现方法：读取 Windows 用户信息、头像路径或系统账户属性。
- 技术细节：读取失败时显示默认头像。
- 注意事项：不要在公开日志中泄漏域账号或敏感路径。

---

## 3. 进程模块

### 刷新进程列表
- 风险等级：低
- 短提示：重新枚举系统进程并更新进程表。
- 详细说明：用于观察进程创建、退出、隐藏或状态变化。
- 实现方法：ProcessDock 调用 R3 枚举工具或 R0 枚举 IOCTL 获取进程记录。
- 技术细节：进程 identity 使用 PID + 创建时间；退出进程可保留一轮并灰色显示。
- 注意事项：刷新必须异步；不能只靠 PID 判断同一进程。

### 进程树视图
- 风险等级：低
- 短提示：按父子关系查看进程层级。
- 详细说明：用于分析启动链、父进程伪造、异常子进程和进程族行为。
- 实现方法：根据 Parent PID 构建树状模型。
- 技术细节：孤儿进程或父进程已退出时挂到根节点或特殊分组。
- 注意事项：父 PID 会复用，应结合创建时间分析。

### 进程详情
- 风险等级：低
- 短提示：查看进程基础信息、路径、命令行、用户、签名和运行状态。
- 详细说明：用于判断进程来源、启动参数、权限上下文和可疑程度。
- 实现方法：ProcessDetailWindow 打开详情窗口并按 Tab 加载基础信息、线程、模块、令牌和操作页。
- 技术细节：路径可来自 QueryFullProcessImageName；命令行可通过 PEB/WMI；签名使用 WinTrust/证书 API。
- 注意事项：访问高权限进程可能失败，应展示错误码。

### 创建进程
- 风险等级：中
- 短提示：按指定路径、参数和启动选项创建新进程。
- 详细说明：用于测试程序启动、复现参数问题或以特定方式启动工具。
- 实现方法：调用 Win32 CreateProcess。
- 技术细节：命令行引用、工作目录和环境变量要正确处理。
- 注意事项：不要自动执行不可信路径；失败时显示 GetLastError。

### 结束进程（R3）
- 风险等级：高
- 短提示：使用用户态 TerminateProcess 结束选中进程。
- 详细说明：适合普通进程的常规结束操作。
- 实现方法：打开目标进程句柄并调用 TerminateProcess。
- 技术细节：需要 PROCESS_TERMINATE 权限。
- 注意事项：禁止默认结束系统关键进程；必须确认并写日志。

### 结束进程（R0）
- 风险等级：极高
- 短提示：请求 KswordARK 驱动在内核侧结束目标进程。
- 详细说明：用于用户态无法结束的进程，但可能造成数据丢失或系统不稳定。
- 实现方法：R3 发送 IOCTL_KSWORD_ARK_TERMINATE_PROCESS；驱动侧调用 ZwTerminateProcess。
- 技术细节：协议位于 shared/driver/KswordArkProcessIoctl.h。
- 注意事项：必须限制权限、保护系统进程，不应作为静默自动 fallback。

### 隐藏进程（R0）
- 风险等级：极高
- 短提示：通过驱动把目标进程从普通枚举中隐藏，并保留可恢复记录。
- 详细说明：用于授权调试场景下验证隐藏进程检测；隐藏后普通 R3 枚举不可见，Ksword 仍可通过 R0 CID 扫描按原 PID 标记和恢复。
- 实现方法：R3 发送 IOCTL_KSWORD_ARK_SET_PROCESS_VISIBILITY；驱动同时修改 _EPROCESS.UniqueProcessId 并摘除 ActiveProcessLinks。
- 技术细节：UniqueProcessId/ActiveProcessLinks 偏移优先来自 DynData，缺失时驱动会对目标 EPROCESS 做保守运行时扫描；恢复依赖驱动保存的原 PID、假 PID 和链表位置。
- 注意事项：该能力会修改内核对象字段和活动进程链表，必须确认目标并写日志；不能用于系统关键进程，也不能接受用户态传入的内核地址。

### 挂起进程
- 风险等级：高
- 短提示：暂停目标进程执行。
- 详细说明：用于冻结可疑进程、保留现场或调试。
- 实现方法：R3 可枚举线程并 SuspendThread；R0 可通过驱动辅助。
- 技术细节：挂起进程本质上通常是挂起所有线程。
- 注意事项：挂起系统服务或关键进程可能导致死锁。

### 恢复进程
- 风险等级：中
- 短提示：恢复被挂起的目标进程或线程。
- 详细说明：与挂起操作配套，让调试后的进程继续运行。
- 实现方法：枚举线程并调用 ResumeThread。
- 技术细节：线程可能被其他工具多次挂起，恢复计数要谨慎。
- 注意事项：不要盲目恢复非本工具挂起的线程状态。

### 设置 PPL 保护级别
- 风险等级：极高
- 短提示：通过驱动修改目标进程保护级别。
- 详细说明：用于测试受保护进程行为或调试安全机制。
- 实现方法：R3 发送 IOCTL_KSWORD_ARK_SET_PPL_LEVEL，驱动侧修改内核进程保护字段。
- 技术细节：不同 Windows 版本 EPROCESS 布局可能变化。
- 注意事项：错误修改可能导致系统不稳定；必须限制权限和支持刷新/回滚思路。

### 打开进程目录
- 风险等级：低
- 短提示：在资源管理器中打开进程可执行文件所在目录。
- 详细说明：便于查看文件属性、签名、同目录依赖和落地位置。
- 实现方法：读取进程镜像路径后调用 Shell/QDesktopServices 打开目录。
- 技术细节：路径为空或进程退出时给出提示。
- 注意事项：不要直接执行该目录下未知文件。

### 线程详情
- 风险等级：低
- 短提示：查看目标进程线程列表、TID、状态、入口和时间信息。
- 详细说明：用于定位 CPU 占用线程、异常线程、远程线程和注入痕迹。
- 实现方法：枚举线程并填充详情表。
- 技术细节：线程入口可通过 NtQueryInformationThread 获取。
- 注意事项：线程状态瞬时变化，刷新结果只代表采样时刻。

### 模块详情
- 风险等级：低
- 短提示：查看目标进程加载的 EXE/DLL 模块列表。
- 详细说明：用于发现可疑 DLL、注入模块、未签名模块或路径异常模块。
- 实现方法：使用 Toolhelp、PSAPI 或 PEB LDR 枚举模块。
- 技术细节：跨架构枚举需处理 WOW64。
- 注意事项：保护进程可能拒绝访问模块信息。

### 令牌详情
- 风险等级：中
- 短提示：查看目标进程用户、组、完整性级别和特权。
- 详细说明：用于判断进程权限、提权状态、UAC 完整性和敏感特权。
- 实现方法：打开进程 Token 并调用 GetTokenInformation。
- 技术细节：Token 信息包括用户、组、特权、完整性级别。
- 注意事项：访问其他用户或系统进程 Token 需要权限。

---

## 4. 网络模块

### 流量监控
- 风险等级：中
- 短提示：实时捕获并展示网络数据包或连接流量。
- 详细说明：用于观察进程网络行为、数据包方向、协议、IP、端口、长度和时间线。
- 实现方法：NetworkDock.MonitorPipeline.cpp 维护采集、过滤和 UI 刷新管线。
- 技术细节：按 PID/IP/端口/协议/包长等字段过滤；大量事件批量刷新。
- 注意事项：抓包可能涉及敏感数据，导出前应脱敏。

### 进程限速
- 风险等级：中
- 短提示：按进程限制网络上传或下载速率。
- 详细说明：用于调试网络异常、模拟弱网环境或限制异常进程占用带宽。
- 实现方法：NetworkDock.RateLimit.cpp 维护限速规则和目标进程映射。
- 技术细节：可结合 WFP、代理或应用层队列策略实现。
- 注意事项：限速会影响业务通信，应提供清除规则入口。

### TCP/UDP 连接管理
- 风险等级：中
- 短提示：查看 TCP/UDP 连接并可终止选中 TCP 连接。
- 详细说明：用于定位进程连接远端、监听端口、异常外连和僵尸连接。
- 实现方法：枚举系统连接表并填充 UI。
- 技术细节：TCP 可通过设置 MIB row 状态删除连接；UDP 只展示端点。
- 注意事项：终止连接会中断业务会话，需确认。

### 请求构造
- 风险等级：中
- 短提示：手工构造 HTTP/HTTPS 请求并查看响应。
- 详细说明：用于调试接口、验证 Header/Body、复现请求问题。
- 实现方法：从 UI 收集 URL、方法、Header、Body 后发送请求。
- 技术细节：支持超时、响应头、状态码、正文展示。
- 注意事项：不要把敏感 Token 保存在日志或截图中。

### HTTPS 解析代理
- 风险等级：高
- 短提示：启用本地 HTTPS 代理以分析加密流量。
- 详细说明：用于调试 HTTPS 请求和响应，支持证书安装、系统代理切换、代理启动/停止。
- 实现方法：HttpsProxyService 作为本地代理，NetworkDock.HttpsAnalyze.cpp 控制证书、代理和结果。
- 技术细节：需要本地监听端口、根证书信任、CONNECT 和动态证书处理。
- 注意事项：修改系统代理和证书属于高风险操作，必须提供清理入口。

### 安装 HTTPS 证书
- 风险等级：高
- 短提示：安装本地代理证书以解密 HTTPS 流量。
- 详细说明：允许本地代理为目标站点动态签发证书，从而查看 HTTPS 内容。
- 实现方法：生成或加载本地 CA 证书，并写入证书存储区。
- 技术细节：证书安装可能需要管理员权限；私钥必须妥善保护。
- 注意事项：仅在测试环境使用；完成后建议移除证书。

### 应用系统代理
- 风险等级：高
- 短提示：把系统代理切换到本地 HTTPS 解析代理。
- 详细说明：让系统或浏览器流量经过 Ksword 本地代理。
- 实现方法：修改 Windows Internet Settings 代理配置。
- 技术细节：通常写入 HKCU Internet Settings 并广播设置变化。
- 注意事项：异常退出可能留下代理配置，必须提供清理按钮。

### 清理系统代理
- 风险等级：中
- 短提示：清除系统代理配置，恢复直连。
- 详细说明：用于结束 HTTPS 分析后恢复网络环境。
- 实现方法：清除或关闭 Internet Settings 代理字段并通知系统刷新。
- 技术细节：应处理 PAC、手动代理和本工具设置的代理地址。
- 注意事项：不要误删用户原本自定义代理，最好保存旧配置用于恢复。

### ARP 缓存
- 风险等级：中
- 短提示：查看、刷新、新增、删除或清空 ARP 缓存。
- 详细说明：用于检查 IP 与 MAC 映射、清理错误映射或固定静态映射。
- 实现方法：调用 IP Helper API 或系统命令枚举/修改 ARP 表。
- 技术细节：字段包括接口、IP、MAC、类型；新增静态项需指定正确接口。
- 注意事项：错误 ARP 会导致网络不可达或流量误导。

### DNS 缓存
- 风险等级：中
- 短提示：查看、刷新、删除指定域名或清空 DNS 缓存。
- 详细说明：用于排查 DNS 污染、过期缓存或网络切换问题。
- 实现方法：调用 DNS API 或系统 flush 能力。
- 技术细节：展示域名、记录类型、TTL、数据。
- 注意事项：清空后首次访问会重新查询 DNS，可能短时增加延迟。

### 存活主机扫描
- 风险等级：中
- 短提示：扫描指定 IP 段内可达主机。
- 详细说明：用于发现局域网活动主机和基础连通性诊断。
- 实现方法：后台任务对 IP 范围执行 ping、连接尝试或 ARP 探测。
- 技术细节：结果显示 IP、状态、延迟和可能的主机名。
- 注意事项：扫描应限速；仅扫描授权网络；提供停止按钮。

### hosts 文件编辑
- 风险等级：高
- 短提示：查看和编辑系统 hosts 文件。
- 详细说明：用于临时指定域名解析、排查域名映射或清理异常 hosts 项。
- 实现方法：用内置编辑器打开 hosts 文件，保存时写回系统路径。
- 技术细节：路径通常为 System32/drivers/etc/hosts。
- 注意事项：保存需要管理员权限；错误 hosts 会导致域名访问异常。

### 多线程下载
- 风险等级：中
- 短提示：按分片并发下载大文件并显示每段状态。
- 详细说明：用于验证下载链路、提速大文件下载或捕获下载任务细节。
- 实现方法：创建任务和分片，每段独立请求 Range 并写入目标文件。
- 技术细节：使用 Range 请求、文件预分配、分段状态表和总进度统计。
- 注意事项：必须校验磁盘空间、URL 安全性、失败重试和中断清理。

---

## 5. 内存模块

### 附加进程
- 风险等级：中
- 短提示：选择目标进程并打开内存读取上下文。
- 详细说明：附加后才能查看内存区域、搜索值、打开 Hex 查看器和管理书签。
- 实现方法：打开目标进程句柄并保存 PID、权限状态。
- 技术细节：需要 PROCESS_VM_READ、PROCESS_QUERY_INFORMATION，写入还需 PROCESS_VM_WRITE/OPERATION。
- 注意事项：高权限或保护进程可能无法附加。

### 内存区域刷新
- 风险等级：低
- 短提示：枚举目标进程的虚拟内存区域。
- 详细说明：展示每段内存的基址、大小、状态、保护属性、类型和模块归属。
- 实现方法：遍历 VirtualQueryEx。
- 技术细节：可按 committed/free/reserved、read/write/execute、private/image/mapped 过滤。
- 注意事项：区域状态动态变化，读取前需重新校验。

### 首次内存搜索
- 风险等级：中
- 短提示：在目标进程内存中搜索指定值或字节模式。
- 详细说明：用于定位变量、字符串、指针或特征码。
- 实现方法：按区域读取内存块，并按用户指定类型匹配。
- 技术细节：支持整数、浮点、字符串、字节数组等类型；读取失败区域跳过。
- 注意事项：大范围搜索必须后台执行并支持取消。

### 再次内存搜索
- 风险等级：中
- 短提示：在上次结果中继续按新条件过滤。
- 详细说明：用于逐步缩小目标地址集合。
- 实现方法：读取上次命中地址当前值，与旧值或输入值比较。
- 技术细节：保留旧值快照，支持等于、不等于、增大、减小等比较。
- 注意事项：目标进程退出或内存释放会导致地址失效。

### 内存 Hex 查看器
- 风险等级：中
- 短提示：以十六进制和 ASCII 形式查看目标内存。
- 详细说明：用于观察原始内存布局、结构体、字符串和机器码。
- 实现方法：读取指定地址范围后交给 HexEditorWidget 展示。
- 技术细节：支持偏移、HEX、ASCII、选择、复制、查找和跳转。
- 注意事项：不可访问地址要安全失败；大块读取需限制大小。

### 断点管理
- 风险等级：高
- 短提示：管理目标地址断点或观察点。
- 详细说明：用于调试关键地址访问或代码执行。
- 实现方法：可通过调试 API、内存保护或硬件断点策略实现。
- 技术细节：需要调试权限和线程上下文操作。
- 注意事项：断点会改变目标进程行为，必须可撤销。

### 书签管理
- 风险等级：低
- 短提示：保存常用地址和值，便于刷新和跳转。
- 详细说明：用于长期观察搜索得到的重要地址。
- 实现方法：保存地址、类型、备注和最近值，定时或手动刷新。
- 技术细节：刷新时重新读取目标地址并格式化。
- 注意事项：地址可能失效，UI 应显示读取失败状态。

---

## 6. 文件模块

### 双栏文件管理
- 风险等级：低
- 短提示：使用左右两栏浏览、筛选、排序和管理文件。
- 详细说明：适合对比目录、复制移动文件、查看不同位置内容和批量操作。
- 实现方法：每个面板由 FilePanelWidgets 聚合路径栏、工具栏、文件视图和状态栏。
- 技术细节：常规模式使用 QFileSystemModel，手动解析模式使用 ManualFileSystemParser。
- 注意事项：两个面板状态独立；复制/剪切缓存需明确来源和模式。

### 路径导航
- 风险等级：低
- 短提示：返回、前进、上级目录、刷新和地址栏跳转。
- 详细说明：提供资源管理器式导航体验。
- 实现方法：维护每个面板的路径历史、当前位置索引和地址输入状态。
- 技术细节：面包屑和编辑框可切换；驱动器下拉快速切换盘符。
- 注意事项：路径不存在或权限不足时要回退并提示。

### 视图模式
- 风险等级：低
- 短提示：在图标、列表、详情、树等模式之间切换。
- 详细说明：适配不同文件浏览需求，详情模式适合排序和批量选择。
- 实现方法：调整 QTreeView/QFileSystemModel 的展示列、图标大小和代理模型。
- 技术细节：手动解析模式使用独立模型和代理。
- 注意事项：切换视图不应丢失当前路径和选择状态。

### 显示隐藏/系统文件
- 风险等级：低
- 短提示：控制是否显示隐藏文件和系统文件。
- 详细说明：用于查看默认隐藏的配置文件、系统目录和取证痕迹。
- 实现方法：调整 QDir.Filters 或手动解析过滤规则。
- 技术细节：隐藏和系统属性来自文件属性位。
- 注意事项：显示系统文件后误删风险增加。

### 文件名过滤
- 风险等级：低
- 短提示：按关键词快速过滤当前目录文件。
- 详细说明：用于在大目录中快速定位目标文件。
- 实现方法：通过 QSortFilterProxyModel 按名称过滤。
- 技术细节：可扩展大小写、通配符或正则匹配。
- 注意事项：过滤只影响显示，不改变磁盘内容。

### 排序
- 风险等级：低
- 短提示：按名称、大小、时间、类型等字段排序。
- 详细说明：用于快速找出最新文件、大文件或特定类型文件。
- 实现方法：模型代理按列排序。
- 技术细节：目录优先、自然排序和大小写策略要统一。
- 注意事项：大目录排序可能有性能开销。

### 文件详情
- 风险等级：低
- 短提示：查看文件常规、安全、哈希、签名、PE、字符串和 Hex 信息。
- 详细说明：文件详情窗口是静态分析单个文件的入口。
- 实现方法：FileDetailDialog 构建多个 Tab，每个 Tab 按需读取文件或元数据。
- 技术细节：详情窗口必须使用不透明背景；文本详情优先使用 CodeEditorWidget。
- 注意事项：大文件分析要限制读取大小，避免 UI 卡顿。

### 常规信息
- 风险等级：低
- 短提示：查看文件路径、大小、时间、属性和类型。
- 详细说明：帮助确认文件基本元数据和属性状态。
- 实现方法：使用 QFileInfo 和 Win32 文件属性 API。
- 技术细节：展示创建、修改、访问时间和只读/隐藏/系统属性。
- 注意事项：时间戳可能受文件系统和时区影响。

### 安全与权限
- 风险等级：中
- 短提示：查看文件所有者、DACL、权限 ACE 和安全属性。
- 详细说明：用于排查无法访问、权限继承、恶意 ACL 和所有权问题。
- 实现方法：调用 Windows Security API 读取安全描述符。
- 技术细节：解析 owner、group、DACL、ACE mask 并格式化权限项。
- 注意事项：读取安全描述符可能需要权限；修改权限需谨慎。

### 哈希与完整性
- 风险等级：低
- 短提示：计算文件 MD5/SHA 系列哈希用于比对完整性。
- 详细说明：用于确认文件是否被篡改、与样本库比对或记录取证信息。
- 实现方法：分块读取文件并通过 QCryptographicHash 计算。
- 技术细节：支持 MD5、SHA1、SHA256 等算法。
- 注意事项：大文件计算耗时，应显示进度或异步执行。

### 数字签名
- 风险等级：低
- 短提示：检查文件 Authenticode 签名和证书链。
- 详细说明：用于判断文件发布者、签名有效性和可信来源。
- 实现方法：调用 WinTrust 和证书 API 验证签名。
- 技术细节：展示签名状态、颁发者、主题、时间戳等。
- 注意事项：无签名不一定恶意；签名有效也不代表绝对安全。

### PE 信息
- 风险等级：低
- 短提示：解析 EXE/DLL 的 PE 头、节表、数据目录和 CLR 信息。
- 详细说明：用于静态分析 Windows 可执行文件结构。
- 实现方法：FilePropertyPeAnalyzer.* 读取文件字节并解析 DOS Header、NT Header、Optional Header、Section Table、Data Directory。
- 技术细节：RVA 转文件偏移需要节表映射；CLR 头需解析 COM Descriptor。
- 注意事项：畸形 PE 必须边界校验，不能直接信任头部字段。

### 字符串提取
- 风险等级：低
- 短提示：从文件中提取 ASCII/Unicode 可读字符串。
- 详细说明：用于快速发现 URL、路径、命令、配置和可疑文本。
- 实现方法：扫描文件字节，按最小长度提取连续可打印字符和 UTF-16LE 字符串。
- 技术细节：可限制最大输出数量和预览大小。
- 注意事项：字符串仅供线索参考，不能替代完整逆向分析。

### 文件 Hex 预览
- 风险等级：低
- 短提示：以十六进制查看文件原始字节。
- 详细说明：用于观察文件头、结构偏移和二进制片段。
- 实现方法：读取文件前若干 MB 后交给 HexEditorWidget 展示。
- 技术细节：显示偏移、HEX、ASCII，可查找和跳转。
- 注意事项：不要一次性读取超大文件。

### 复制文件
- 风险等级：中
- 短提示：复制选中文件或目录到目标位置。
- 详细说明：用于常规文件管理和双栏复制。
- 实现方法：保存复制缓存，目标面板粘贴时执行递归复制。
- 技术细节：目录复制需要递归创建目录和复制子项。
- 注意事项：覆盖时必须确认；权限不足要显示失败路径。

### 剪切文件
- 风险等级：中
- 短提示：移动选中文件或目录到目标位置。
- 详细说明：用于双栏移动文件。
- 实现方法：保存剪切缓存，粘贴时执行 rename/move 或复制后删除。
- 技术细节：跨卷移动通常需要复制后删除。
- 注意事项：失败时要避免源文件丢失。

### 普通删除
- 风险等级：高
- 短提示：删除选中文件或目录。
- 详细说明：用于常规清理文件。
- 实现方法：调用 Qt/Win32 文件删除 API，目录递归删除。
- 技术细节：可选择是否进入回收站取决于实现。
- 注意事项：必须确认；删除失败时展示错误列表。

### 驱动删除
- 风险等级：极高
- 短提示：请求 KswordARK 驱动强制删除选中路径。
- 详细说明：用于用户态无法删除的文件或目录，但风险高，可能绕过常规保护。
- 实现方法：R3 构造 KSWORD_ARK_DELETE_PATH_REQUEST，调用 IOCTL_KSWORD_ARK_DELETE_PATH；驱动侧按 NT 路径打开并删除。
- 技术细节：目录按后序展开，重解析点不递归进入；路径需要转换为驱动可识别的 NT 路径。
- 注意事项：不得静默结束占用进程；应先使用文件解锁器显式选择占用进程。

### 取得所有权
- 风险等级：高
- 短提示：把选中路径所有权改为当前用户或管理员组。
- 详细说明：用于恢复访问被拒绝的文件或目录。
- 实现方法：调用安全 API 设置 owner，并可授予完全控制权限。
- 技术细节：需要 SeTakeOwnershipPrivilege 或管理员权限。
- 注意事项：修改 ACL 可能降低安全性，操作前应确认。

### 占用句柄扫描
- 风险等级：中
- 短提示：查找哪些进程正在占用选中文件或目录。
- 详细说明：用于定位删除失败、移动失败、文件被锁定的原因。
- 实现方法：FileHandleUsageScanner 枚举系统句柄，复制句柄并查询对象名，与目标路径规则匹配。
- 技术细节：查询对象名可能阻塞，因此使用 worker、预算和超时控制。
- 注意事项：需要管理员权限；结果可能因句柄变化而瞬时失效。

### 文件解锁器
- 风险等级：高
- 短提示：扫描占用进程，由用户选择要结束的进程和 R3/R0 结束方式。
- 详细说明：用于解决文件被占用导致无法删除、移动或修改的问题。
- 实现方法：后台扫描占用句柄，UI 弹窗展示候选进程，用户勾选后执行 R3 TerminateProcess 或 R0 驱动结束。
- 技术细节：候选项包含 PID、进程名、镜像路径、匹配目标、匹配规则、关键进程标记。
- 注意事项：必须保护系统关键进程和当前进程；不要自动杀进程。

### 系统右键文件解锁器
- 风险等级：高
- 短提示：在资源管理器右键菜单中启动 Ksword 文件解锁器。
- 详细说明：用户可从文件、目录、磁盘或目录空白处右键打开 Ksword 并直接扫描目标路径。
- 实现方法：写入 HKCU Software/Classes 下的文件、目录、磁盘和目录背景 shell key。
- 技术细节：命令格式为 Ksword5.1.exe --unlock 目标路径。
- 注意事项：注册表写入失败要提示；卸载时要删除所有相关 key；命令行参数要正确引用路径。

### 文件恢复
- 风险等级：中
- 短提示：扫描 NTFS 删除项并尝试导出可恢复内容。
- 详细说明：用于从 NTFS 元数据中查找已删除文件记录，尝试恢复 resident 或仍可读取的数据。
- 实现方法：ManualFileSystemParser 解析卷、MFT 和文件记录，收集删除项并导出。
- 技术细节：需要解析 MFT、属性、数据运行、resident/non-resident 数据。
- 注意事项：恢复成功率取决于是否被覆盖；应导出到其他卷避免覆盖原数据。

---

## 7. 驱动模块

### 驱动概览
- 风险等级：低
- 短提示：查看已加载驱动和内核模块概览。
- 详细说明：用于识别系统内核模块、驱动路径、基址、大小和状态。
- 实现方法：调用系统模块枚举接口或 NtQuery 系列 API。
- 技术细节：展示模块名、路径、基址、映像大小和签名信息。
- 注意事项：内核模块列表随系统版本和权限变化。

### 注册驱动服务
- 风险等级：极高
- 短提示：在 SCM 中创建驱动服务项。
- 详细说明：用于安装 KswordARK 或其他驱动服务。
- 实现方法：调用 CreateService，服务类型为 kernel driver。
- 技术细节：需要服务名、显示名、sys 路径、启动类型。
- 注意事项：需要管理员权限；驱动必须满足签名和系统策略。

### 加载驱动
- 风险等级：极高
- 短提示：启动已注册的内核驱动服务。
- 详细说明：加载驱动后 R0 功能才能使用。
- 实现方法：调用 SCM StartService。
- 技术细节：加载失败可能来自签名、路径、依赖、已加载或系统策略。
- 注意事项：驱动代码错误可能蓝屏，必须使用可信版本。

### 卸载驱动
- 风险等级：高
- 短提示：停止内核驱动服务。
- 详细说明：用于释放驱动资源和关闭 R0 功能。
- 实现方法：调用 ControlService(SERVICE_CONTROL_STOP) 并轮询状态。
- 技术细节：驱动必须正确处理 unload 和清理回调。
- 注意事项：仍有打开句柄或回调未清理时可能卸载失败。

### 删除驱动服务
- 风险等级：高
- 短提示：从 SCM 中删除驱动服务项。
- 详细说明：用于卸载驱动服务注册信息。
- 实现方法：打开服务句柄后调用 DeleteService。
- 技术细节：服务正在运行时通常需先停止。
- 注意事项：删除服务不一定删除 sys 文件。

### 更新驱动
- 风险等级：极高
- 短提示：替换驱动文件并重新加载服务。
- 详细说明：用于开发调试或发布新版本驱动。
- 实现方法：停止服务、替换 sys、启动服务或重新注册。
- 技术细节：文件被占用时需要先卸载驱动；签名证书需匹配策略。
- 注意事项：更新失败要支持回滚，避免服务指向无效驱动。

### 驱动状态查询
- 风险等级：低
- 短提示：查询驱动服务是否存在、运行或停止。
- 详细说明：用于确认 R0 功能是否可用。
- 实现方法：调用 OpenService 和 QueryServiceStatusEx。
- 技术细节：展示服务状态、退出码、检查点和等待提示。
- 注意事项：服务状态可能处于 pending，需要刷新。

### DynData 自动载入
- 风险等级：中
- 短提示：驱动装载后立即匹配并下发动态偏移 profile。
- 详细说明：用于让依赖 _EPROCESS 等未公开字段的 R0 功能尽早获得字段偏移，减少用户手动打开动态偏移页的要求。
- 实现方法：KswordARK 服务启动或确认运行后，MainWindow 初始化 KernelDock 并触发动态偏移刷新。
- 技术细节：复用 KernelDock 的 PDB profile pack 匹配、v3 typed item 解析和 APPLY_DYN_PROFILE_EX 下发路径。
- 注意事项：自动载入失败应记录日志并保留驱动侧运行时兜底；不能阻塞主窗口启动。

### DBWIN 调试输出捕获
- 风险等级：低
- 短提示：捕获 OutputDebugString/DBWIN 调试输出。
- 详细说明：用于查看驱动、服务或用户态程序输出的调试信息。
- 实现方法：打开或创建 Global/DBWIN_BUFFER_READY、Global/DBWIN_DATA_READY 和 Global/DBWIN_BUFFER。
- 技术细节：线程等待 data ready 后读取共享内存中的 PID 和文本。
- 注意事项：捕获线程退出时必须唤醒事件，避免 join 卡死。

### 驱动日志通道
- 风险等级：低
- 短提示：读取 KswordARK 驱动输出的运行日志。
- 详细说明：用于观察 R0 操作结果、错误码和安全审计信息。
- 实现方法：主窗口轮询打开 KswordARKLog 控制设备，通过 read 读取日志帧。
- 技术细节：日志以 level 和 END_OF_LOG 标记分帧。
- 注意事项：日志读取应只需只读权限，高危 IOCTL 需写权限。

---

## 8. 内核模块

### NtQuery 信息
- 风险等级：低
- 短提示：执行和展示常见 NtQuery 系统信息。
- 详细说明：用于查看系统内核对象、模块、句柄、进程等低层信息。
- 实现方法：KernelDockQueryWorker 异步调用 NtQuery 系列接口。
- 技术细节：不同信息类需要不同结构体和缓冲扩容策略。
- 注意事项：未公开信息类在不同 Windows 版本可能变化。

### SSDT 枚举
- 风险等级：高
- 短提示：通过驱动枚举系统服务描述表项。
- 详细说明：用于分析系统调用表状态和潜在 Hook。
- 实现方法：R3 发送 IOCTL_KSWORD_ARK_ENUM_SSDT，驱动返回 SSDT entries。
- 技术细节：协议位于 KswordArkKernelIoctl.h；UI 使用 worker 避免阻塞。
- 注意事项：SSDT 结构和导出信息受系统版本影响。

### 对象命名空间
- 风险等级：低
- 短提示：浏览 Windows Object Manager 命名空间。
- 详细说明：用于查看 Device、Driver、BaseNamedObjects 等对象树。
- 实现方法：KernelDockObjectNamespaceWorker 枚举对象目录。
- 技术细节：需要打开目录对象并查询条目名称和类型。
- 注意事项：部分对象访问受限，失败应展示状态码。

### Atom 表
- 风险等级：低
- 短提示：查看系统或会话 Atom 信息。
- 详细说明：用于分析窗口类、字符串 Atom 和兼容性问题。
- 实现方法：KernelDockAtomWorker 查询相关 Atom 表。
- 技术细节：Atom 分全局和局部，查询接口有限。
- 注意事项：结果可能不完整，仅作辅助线索。

### 回调规则配置
- 风险等级：极高
- 短提示：配置进程、线程、镜像等内核回调的拦截规则。
- 详细说明：用于观察或控制特定内核事件，如进程创建、线程创建、镜像加载。
- 实现方法：UI 构建规则，序列化后通过 IOCTL_KSWORD_ARK_SET_CALLBACK_RULES 下发。
- 技术细节：规则包含匹配模式、动作、类型、路径/进程等条件。
- 注意事项：拦截规则可能阻止正常系统行为，必须谨慎。

### 回调运行状态
- 风险等级：低
- 短提示：查看驱动侧回调是否已注册和运行。
- 详细说明：用于确认拦截功能是否启用、规则是否生效。
- 实现方法：调用 IOCTL_KSWORD_ARK_GET_CALLBACK_RUNTIME_STATE。
- 技术细节：返回注册 mask、事件计数和状态字段。
- 注意事项：状态仅代表查询时刻，回调可能随后变化。

### 等待回调事件
- 风险等级：高
- 短提示：从驱动等待需要用户决策的回调事件。
- 详细说明：当规则动作为“询问用户”时，R3 等待驱动事件并弹出决策提示。
- 实现方法：CallbackPromptManager 使用 worker 调用 IOCTL_KSWORD_ARK_WAIT_CALLBACK_EVENT。
- 技术细节：等待请求可能 pending，取消时需调用 cancel all pending。
- 注意事项：UI 关闭必须取消等待，避免线程泄露。

### 回答回调事件
- 风险等级：高
- 短提示：允许或拒绝驱动上报的回调事件。
- 详细说明：用户对进程创建、线程创建或镜像加载事件做允许/拒绝决策。
- 实现方法：R3 构造 answer 包调用 IOCTL_KSWORD_ARK_ANSWER_CALLBACK_EVENT。
- 技术细节：需要带事件 ID、决策类型和超时处理。
- 注意事项：拒绝系统关键事件可能导致程序或系统异常。

### 取消全部待决回调
- 风险等级：中
- 短提示：取消驱动侧等待用户决策的所有事件。
- 详细说明：用于关闭功能、退出程序或恢复系统流程。
- 实现方法：调用 IOCTL_KSWORD_ARK_CANCEL_ALL_PENDING_DECISIONS。
- 技术细节：驱动应唤醒所有 pending 请求并给出默认结果。
- 注意事项：取消策略必须明确是允许、拒绝还是按默认规则处理。

### 外部回调移除
- 风险等级：极高
- 短提示：按地址请求驱动移除进程、线程或镜像加载 notify callback。
- 详细说明：用于高级内核分析和调试，可能影响安全软件或监控组件。
- 实现方法：UI 输入回调类型和地址，调用 IOCTL_KSWORD_ARK_REMOVE_EXTERNAL_CALLBACK；驱动调用对应 PsRemove/PsSet remove API。
- 技术细节：驱动尝试解析地址所属模块并返回模块路径、基址、大小；UI 可映射服务名。
- 注意事项：必须限制权限；错误地址或移除第三方安全组件会导致安全性下降或系统不稳定。

---

## 9. 监控模块

### 进程定向监控
- 风险等级：中
- 短提示：按目标进程树采集相关 ETW 事件。
- 详细说明：用于观察某个进程及子进程的文件、网络、进程、线程等行为轨迹。
- 实现方法：ProcessTraceMonitorWidget 启动 ETW 会话并按 PID/进程树过滤事件。
- 技术细节：后台 capture thread 解析事件并批量推送 UI。
- 注意事项：事件量大时要限流；停止监控要正确关闭 ETW 会话。

### WinAPI 监控
- 风险等级：高
- 短提示：监控目标进程的 WinAPI 调用。
- 详细说明：用于观察文件、注册表、网络、进程、线程等 API 调用行为。
- 实现方法：APIMonitor Agent/DLL 采集调用，通过管道发送给 WinAPIDock。
- 技术细节：协议位于 WinApiMonitorProtocol.h；管道逻辑在 WinAPIDock.Pipe.cpp。
- 注意事项：Hook 会改变目标进程运行环境，只能在授权调试场景使用。

### WinAPI 分类开关
- 风险等级：中
- 短提示：选择要监控的 API 分类。
- 详细说明：减少噪声，只采集文件、注册表、网络、进程等关注类别。
- 实现方法：UI 生成配置，Agent 根据配置启用对应 Hook。
- 技术细节：配置可写入临时 ini 或通过 IPC 传递。
- 注意事项：分类过多会显著增加性能开销。

### WMI Provider 查看
- 风险等级：低
- 短提示：枚举 WMI Provider 和事件类。
- 详细说明：用于理解系统 WMI 数据来源和可订阅事件。
- 实现方法：通过 COM/WMI 查询命名空间和类。
- 技术细节：可展示 Provider 名称、命名空间、类名和属性。
- 注意事项：WMI 查询可能较慢，应异步执行。

### WMI 事件订阅
- 风险等级：中
- 短提示：订阅指定 WMI 事件并显示结果。
- 详细说明：用于观察进程创建、服务变化、设备变化等系统事件。
- 实现方法：构造 WQL 事件查询并启动异步订阅。
- 技术细节：事件回调转发到 UI 表格展示。
- 注意事项：订阅应支持停止；WQL 过宽会产生大量事件。

### ETW Provider 枚举
- 风险等级：低
- 短提示：列出系统可用 ETW Provider。
- 详细说明：用于选择要采集的事件源。
- 实现方法：调用 ETW Provider 枚举 API。
- 技术细节：展示 Provider 名称、GUID、关键字、级别等。
- 注意事项：Provider 元数据可能缺失或需要管理员权限。

### ETW 会话管理
- 风险等级：中
- 短提示：创建、启动、停止和查看 ETW 会话。
- 详细说明：用于采集内核或用户态 Provider 事件。
- 实现方法：调用 StartTrace、EnableTraceEx2、ControlTrace 等 API。
- 技术细节：会话名、缓冲区大小、关键字、级别影响采集范围和性能。
- 注意事项：未停止的 ETW 会话会占用系统资源。

### 监控事件导出
- 风险等级：低
- 短提示：导出当前监控结果用于后续分析。
- 详细说明：把表格中的事件保存为 TSV/JSON/文本等格式。
- 实现方法：遍历当前模型数据并写入文件。
- 技术细节：保留时间戳、PID、进程名、事件名、字段详情。
- 注意事项：导出可能包含敏感路径、URL、参数和用户信息。

---

## 10. 硬件模块

### 硬件概览
- 风险等级：低
- 短提示：查看 CPU、内存、磁盘、网卡、GPU 等硬件摘要。
- 详细说明：用于快速掌握机器配置和运行环境。
- 实现方法：调用 Win32、WMI、DXGI 或系统信息 API。
- 技术细节：展示型号、核心数、容量、驱动和设备名称。
- 注意事项：WMI 查询失败时应降级展示基础信息。

### 利用率总览
- 风险等级：低
- 短提示：查看类似任务管理器的 CPU、内存、磁盘、网络和 GPU 利用率。
- 详细说明：用于判断系统压力和性能瓶颈。
- 实现方法：定时采样系统计数器并刷新图表。
- 技术细节：CPU 需计算时间差；网络/磁盘需计算吞吐差分。
- 注意事项：采样间隔过短会增加开销。

### CPU 详情
- 风险等级：低
- 短提示：查看 CPU 型号、核心、线程和每逻辑核利用率。
- 详细说明：用于分析 CPU 拓扑和负载分布。
- 实现方法：系统信息 API + 性能计数器。
- 技术细节：逻辑核数据需要按采样周期计算。
- 注意事项：大小核架构和虚拟化环境可能影响显示。

### GPU 详情
- 风险等级：低
- 短提示：查看显卡设备、显存和利用率信息。
- 详细说明：用于排查图形/计算负载和驱动信息。
- 实现方法：DXGI、WMI 或性能计数器查询。
- 技术细节：多 GPU 环境需按适配器展示。
- 注意事项：不同厂商驱动支持能力不同。

### 内存详情
- 风险等级：低
- 短提示：查看物理内存总量、可用量和使用率。
- 详细说明：用于判断内存压力和可用资源。
- 实现方法：调用 GlobalMemoryStatusEx 或性能计数器。
- 技术细节：可展示提交量、缓存、分页等扩展指标。
- 注意事项：数值单位要统一，避免 MB/GB 混淆。

---

## 11. 权限模块

### 本地用户列表
- 风险等级：低
- 短提示：查看本机用户账号及基础状态。
- 详细说明：用于排查账号存在性、禁用状态、管理员成员关系等。
- 实现方法：调用 NetAPI 枚举本地用户。
- 技术细节：展示用户名、描述、状态、上次登录等字段。
- 注意事项：域账号和本地账号来源不同，应标明。

### 创建用户
- 风险等级：高
- 短提示：创建新的本地 Windows 用户。
- 详细说明：用于管理测试账号或恢复管理入口。
- 实现方法：调用 NetUserAdd。
- 技术细节：可设置用户名、密码、描述和组成员。
- 注意事项：不要在日志保存明文密码；需要管理员权限。

### 重置密码
- 风险等级：高
- 短提示：为选中本地用户设置新密码。
- 详细说明：用于本地账号管理和应急恢复。
- 实现方法：调用 NetUserSetInfo 或相关 API。
- 技术细节：密码策略可能导致失败。
- 注意事项：必须确认目标账号；不要记录密码。

### 用户组查看
- 风险等级：低
- 短提示：查看用户所属本地组。
- 详细说明：用于判断账号是否具备管理员或特殊组权限。
- 实现方法：调用 NetAPI 查询本地组成员。
- 技术细节：展示组名、SID 和描述。
- 注意事项：域组解析可能较慢或失败。

### 当前进程权限快照
- 风险等级：低
- 短提示：查看当前 Ksword 进程 Token、完整性级别和特权。
- 详细说明：帮助判断当前实例是否管理员、是否具备 SeDebugPrivilege 等能力。
- 实现方法：打开当前进程 Token 并查询用户、组、特权、完整性级别。
- 技术细节：Token 信息来自 GetTokenInformation。
- 注意事项：权限不足会影响驱动、服务、进程和注册表功能。

---

## 12. 设置模块

### 跟随系统主题
- 风险等级：低
- 短提示：让界面自动同步 Windows 深色或浅色模式。
- 详细说明：用于减少用户手动切换主题的成本，适合希望 Ksword 与系统外观保持一致的场景。
- 实现方法：读取系统个性化主题状态，设置 AppearanceSettings 中的主题模式，并通过主窗口统一刷新样式表和调色板。
- 技术细节：主题状态通常来自 Windows 个性化注册表或 Qt 平台主题状态；应用层需要重新应用 QSS、图标色彩和背景参数。
- 注意事项：系统主题切换不是实时强制事件，部分控件可能需要重新 polish 或重新设置样式才能完全刷新。

### 强制浅色模式
- 风险等级：低
- 短提示：固定使用白底深色字的浅色界面。
- 详细说明：用于在强光环境或投影环境下提升可读性，不受系统深浅主题影响。
- 实现方法：将外观配置写为浅色模式，主窗口加载浅色调色板与对应 QSS。
- 技术细节：需要同步背景图透明度、表格选中颜色、按钮悬停色和滚动条样式，避免局部仍保留深色配色。
- 注意事项：部分 SVG 图标如果只适配深色背景，需要在浅色主题下检查对比度。

### 强制深色模式
- 风险等级：低
- 短提示：固定使用黑底浅色字的深色界面。
- 详细说明：用于长时间分析、夜间使用或偏暗环境下降低视觉疲劳。
- 实现方法：将外观配置写为深色模式，主窗口加载深色调色板、深色 QSS 和相应控件状态色。
- 技术细节：表格、树、编辑器、日志面板、Dock 面板都要覆盖背景色、前景色、网格线和选中态。
- 注意事项：深色主题下红色、黄色警告文本需要保证足够亮度，避免风险提示不可见。

### 背景图选择
- 风险等级：低
- 短提示：选择主窗口背景图片。
- 详细说明：用于个性化工作台视觉效果，也可配合透明度降低背景干扰。
- 实现方法：通过文件选择对话框获得图片路径，写入 AppearanceSettings，并由主窗口背景绘制或样式系统加载。
- 技术细节：路径可保存为相对路径或绝对路径；绘制时需要考虑高 DPI、缩放、窗口大小变化和图片缺失。
- 注意事项：不要选择过大的图片，避免启动加载变慢或显存占用上升。

### 恢复默认背景
- 风险等级：低
- 短提示：把背景图路径恢复为默认资源路径。
- 详细说明：用于撤销用户自定义背景，恢复发布包内置外观。
- 实现方法：将背景路径重置为默认 style 目录资源，再触发外观刷新。
- 技术细节：默认路径需要与发布目录结构保持一致，打包时要确保图片被复制。
- 注意事项：如果程序被移动到新目录，默认背景仍应能通过相对路径找到。

### 背景透明度
- 风险等级：低
- 短提示：调整背景图对内容区域的视觉影响。
- 详细说明：用于在美观和可读性之间取得平衡，透明度越低，表格和文字越清晰。
- 实现方法：滑块改变透明度百分比，配置保存后主窗口使用 alpha 混合绘制背景。
- 技术细节：透明度通常转换为 0 到 1 或 0 到 255 的 alpha 值；刷新时需要更新所有依赖背景的容器。
- 注意事项：透明度过高会影响日志、十六进制视图和表格列的阅读效率。

### 滚动条宽度
- 风险等级：低
- 短提示：选择窄版或宽版滚动条。
- 详细说明：窄版减少内容遮挡，宽版更接近旧版操作手感。
- 实现方法：设置外观配置中的宽滚动条开关，重新生成或套用滚动条 QSS。
- 技术细节：QScrollBar 的宽度、handle 最小高度、hover 展开效果需要统一设置。
- 注意事项：高 DPI 或触控板环境下过窄滚动条可能降低可操作性。

### 滚动条自动隐藏
- 风险等级：低
- 短提示：让滚动条默认收窄，鼠标悬停时展开。
- 详细说明：用于增加有效内容面积，适合表格、树和日志较多的界面。
- 实现方法：通过样式表定义默认宽度和 hover 宽度，设置全局交互配置。
- 技术细节：需要覆盖垂直和水平滚动条；部分 Qt 控件对 hover 状态刷新不一致，需要测试。
- 注意事项：用户如果依赖滚动条定位位置，可关闭自动隐藏。

### 滑块滚轮调节
- 风险等级：低
- 短提示：控制鼠标滚轮经过滑块时是否直接改变滑块值。
- 详细说明：用于避免页面滚动时误改透明度、缩放比例或其他数值型设置。
- 实现方法：安装事件过滤器或设置控件策略，在 wheel 事件中根据配置决定交给滑块还是父滚动区域。
- 技术细节：需要区分滑块获得焦点、鼠标悬停和用户主动拖动三种场景。
- 注意事项：关闭后仍应允许键盘或拖拽方式调整滑块。

### 默认启动标签页
- 风险等级：低
- 短提示：选择应用下次启动时默认打开的主功能页。
- 详细说明：用于把常用模块放到启动入口，例如进程、文件、内核、服务或杂项。
- 实现方法：保存标签页 key，在主窗口初始化完成后映射到对应 Dock 并切换当前页。
- 技术细节：key 与 MainWindow 中的模块注册顺序需要保持一致；模块不存在时应回退欢迎页。
- 注意事项：新增主模块时要同步设置页下拉框和主窗口 key 映射。

### 启动时最大化
- 风险等级：低
- 短提示：让主窗口启动后直接最大化显示。
- 详细说明：适合大屏上进行表格分析、日志查看和多 Dock 联动。
- 实现方法：保存布尔配置，应用启动时在 show 或 restoreGeometry 后调用最大化显示逻辑。
- 技术细节：需要与自定义标题栏最大化状态、窗口圆角和边框命中测试保持一致。
- 注意事项：如果用户保存了窗口缩放比例，应明确最大化优先级。

### 启动时自动请求管理员权限
- 风险等级：中
- 短提示：启动时自动尝试以管理员权限重新拉起程序。
- 详细说明：用于减少频繁使用驱动、服务、注册表和进程高级功能时的手动提权操作。
- 实现方法：启动阶段检查当前 Token 是否管理员；未提权时通过 ShellExecute runas 重新启动。
- 技术细节：需要传递原始命令行参数，避免重复触发 UAC；提权失败时继续普通模式并提示能力受限。
- 注意事项：不应在无提示情况下绕过 UAC；普通用户环境下可能被策略禁止。

### 文件解锁器系统右键菜单
- 风险等级：中
- 短提示：在资源管理器右键菜单中注册 Ksword 文件解锁入口。
- 详细说明：用于从文件或目录上下文直接启动解锁流程，提高处理占用文件的效率。
- 实现方法：写入 HKCU 或 HKLM 的 shell 上下文菜单注册表项，命令指向当前程序并携带 unlocker 参数和目标路径。
- 技术细节：需要处理文件、目录、目录背景等不同 ProgID 或 shell 位置；路径参数必须正确加引号。
- 注意事项：卸载或移动程序后要清理旧菜单；写 HKLM 需要管理员权限。

### 启动窗口缩放比例
- 风险等级：低
- 短提示：设置主窗口启动时的尺寸缩放比例。
- 详细说明：用于适配不同分辨率和屏幕缩放，避免窗口过大或过小。
- 实现方法：保存数值配置，启动时按基础尺寸乘以缩放因子计算窗口大小。
- 技术细节：需要限制最小和最大比例，并结合屏幕可用区域修正最终位置。
- 注意事项：多显示器和高 DPI 环境下不要让窗口超出当前屏幕。

### 应用设置
- 风险等级：低
- 短提示：保存当前设置并立即刷新界面。
- 详细说明：把主题、背景、滚动条、启动行为和右键菜单配置统一写入持久化配置。
- 实现方法：从设置页读取控件状态，更新 AppearanceSettings，写入 QSettings 或配置文件，并发出设置变更信号。
- 技术细节：部分设置立即生效，部分启动设置下次启动生效；按钮提示应告知是否有未保存变更。
- 注意事项：写入失败要保留用户输入并给出错误原因。

---

## 13. 窗口模块

### 窗口枚举
- 风险等级：低
- 短提示：枚举当前桌面会话中的顶层窗口。
- 详细说明：用于查看窗口句柄、标题、类名、所属进程、可见状态和窗口矩形。
- 实现方法：调用 EnumWindows，再用 GetWindowText、GetClassName、GetWindowThreadProcessId 和 IsWindowVisible 收集信息。
- 技术细节：窗口标题可能为空；UWP、控制台、托盘和无边框窗口的表现可能不同。
- 注意事项：枚举结果只代表当前交互会话，不能直接覆盖其他用户会话或安全桌面。

### 子窗口查看
- 风险等级：低
- 短提示：查看选中窗口下的子控件层级。
- 详细说明：用于分析复杂程序的控件结构、定位按钮、编辑框、列表等窗口对象。
- 实现方法：对目标 HWND 调用 EnumChildWindows，递归读取类名、文本、样式和坐标。
- 技术细节：Qt、WPF、Electron 等框架可能只有少量真实子窗口，很多控件为自绘。
- 注意事项：不要假设窗口文本一定包含隐私无关信息，复制或导出前需要确认用途。

### 窗口属性
- 风险等级：低
- 短提示：查看窗口样式、扩展样式、位置和进程关联。
- 详细说明：用于诊断窗口是否置顶、是否工具窗口、是否可见、是否禁用、是否有边框等。
- 实现方法：读取 GWL_STYLE、GWL_EXSTYLE、GetWindowRect、GetClientRect 和进程 PID。
- 技术细节：样式位需要翻译为可读标签；DPI 缩放会影响逻辑坐标和物理坐标。
- 注意事项：跨进程读取属性通常安全，但修改属性需要谨慎。

### 窗口显示隐藏
- 风险等级：中
- 短提示：显示、隐藏、最小化或还原目标窗口。
- 详细说明：用于恢复不可见窗口、临时隐藏干扰窗口或测试窗口状态。
- 实现方法：调用 ShowWindow、SetWindowPos 或发送系统命令。
- 技术细节：部分窗口由进程内部状态控制，外部 ShowWindow 后可能被程序立即改回。
- 注意事项：隐藏关键系统窗口可能影响用户操作，应提供明确确认。

### 窗口置顶
- 风险等级：中
- 短提示：切换目标窗口的置顶状态。
- 详细说明：用于让分析工具、目标窗口或日志窗口保持在其他窗口前方。
- 实现方法：使用 SetWindowPos 设置 HWND_TOPMOST 或 HWND_NOTOPMOST。
- 技术细节：置顶只在当前桌面内有效；某些全屏或安全窗口可能覆盖置顶窗口。
- 注意事项：修改其他进程窗口可能影响用户体验，建议支持一键还原。

### 窗口关闭
- 风险等级：中
- 短提示：请求目标窗口正常关闭。
- 详细说明：用于模拟用户点击关闭按钮，让目标程序有机会保存状态并退出。
- 实现方法：向窗口发送 WM_CLOSE，必要时可提示用户是否进一步结束进程。
- 技术细节：WM_CLOSE 是协作式关闭，程序可以忽略、拦截或弹出确认对话框。
- 注意事项：不要把关闭窗口等同于结束进程，多个窗口可能属于同一进程。

### 窗口截图或定位辅助
- 风险等级：低
- 短提示：辅助定位目标窗口的屏幕区域。
- 详细说明：用于确认枚举条目对应的真实界面位置，帮助排查无标题或同名窗口。
- 实现方法：根据窗口矩形在界面中显示坐标，必要时可高亮或截图。
- 技术细节：窗口阴影、DWM 扩展边框和 DPI 会导致 GetWindowRect 与可见边界不完全一致。
- 注意事项：截图可能包含敏感信息，导出前需提醒用户。

---

## 14. 注册表模块

### 注册表树浏览
- 风险等级：低
- 短提示：以树形结构浏览注册表根键和子键。
- 详细说明：用于查看 HKCR、HKCU、HKLM、HKU、HKCC 等根下的配置层级。
- 实现方法：打开根键后调用 RegEnumKeyEx 懒加载子键，展开树节点时再读取下一层。
- 技术细节：使用路径编辑框同步当前路径，历史栈支持后退和前进。
- 注意事项：HKLM 和部分系统键需要管理员权限；32 位和 64 位注册表视图可能不同。

### 值列表
- 风险等级：低
- 短提示：展示当前键下的所有值名、类型和数据。
- 详细说明：用于检查程序配置、自启动项、服务参数、Shell 扩展等注册表数据。
- 实现方法：调用 RegEnumValue 读取值名、类型、原始数据和格式化文本。
- 技术细节：REG_SZ、REG_EXPAND_SZ、REG_DWORD、REG_QWORD、REG_MULTI_SZ、REG_BINARY 需要不同解码方式。
- 注意事项：二进制数据应限制预览长度，避免表格卡顿。

### 后退与前进
- 风险等级：低
- 短提示：在访问过的注册表路径之间切换。
- 详细说明：用于像文件管理器一样快速返回上一个或下一个注册表位置。
- 实现方法：维护路径历史数组和当前索引，导航时决定是否写入历史。
- 技术细节：手动输入路径、点击树节点和搜索结果跳转都应统一走导航函数。
- 注意事项：目标键被删除后，历史跳转要显示失败原因而不是崩溃。

### 刷新当前键
- 风险等级：低
- 短提示：重新读取当前注册表键和右侧值列表。
- 详细说明：用于在外部程序修改注册表后同步最新状态。
- 实现方法：重新打开当前键，枚举子键和值，并保留或恢复当前选中项。
- 技术细节：刷新时需要避免重复插入占位子节点。
- 注意事项：如果权限变化导致无法打开，应更新状态栏和按钮可用性。

### 新建子键
- 风险等级：中
- 短提示：在当前键下创建新的注册表子键。
- 详细说明：用于配置程序、测试注册表行为或创建新的结构节点。
- 实现方法：收集子键名称后调用 RegCreateKeyEx。
- 技术细节：创建后应刷新树并选中新键；名称需要过滤反斜杠等非法路径片段。
- 注意事项：修改系统关键位置可能影响启动、服务或 Shell 行为，建议确认路径。

### 新建值
- 风险等级：中
- 短提示：在当前键下创建新的注册表值。
- 详细说明：用于添加配置项、启动项参数或服务参数。
- 实现方法：选择值类型并输入数据后调用 RegSetValueEx。
- 技术细节：DWORD/QWORD 需要数值解析，MULTI_SZ 需要以双空字符结束，EXPAND_SZ 可包含环境变量。
- 注意事项：类型错误会导致目标程序无法识别配置，应支持编辑前预览。

### 编辑值
- 风险等级：中
- 短提示：修改当前注册表值的数据。
- 详细说明：用于修复配置、切换开关或调整程序行为。
- 实现方法：双击值或选择编辑操作，按类型解析输入并写回 RegSetValueEx。
- 技术细节：二进制编辑需要十六进制解析；字符串需要处理空值和 Unicode。
- 注意事项：编辑前建议复制原值，便于回滚。

### 重命名键或值
- 风险等级：中
- 短提示：修改选中子键或值名称。
- 详细说明：用于调整配置名称或临时禁用某些注册表项。
- 实现方法：值重命名可读出旧数据后写入新值并删除旧值；键重命名可使用 RegRenameKey 或复制迁移。
- 技术细节：RegRenameKey 对系统版本有要求；跨权限键可能失败。
- 注意事项：重命名启动项、服务项或 Shell 项可能直接改变系统行为。

### 删除键或值
- 风险等级：高
- 短提示：删除选中的注册表对象。
- 详细说明：用于清理无效配置、恶意启动项或残留服务项。
- 实现方法：值使用 RegDeleteValue，键使用 RegDeleteTree 或递归删除。
- 技术细节：删除非空键需要递归；删除后刷新父节点和搜索结果。
- 注意事项：删除不可逆，必须确认完整路径；系统关键键删除可能导致功能失效。

### 导入 REG 文件
- 风险等级：高
- 短提示：从 .reg 文件批量写入注册表。
- 详细说明：用于恢复备份、应用预设配置或导入外部分析结果。
- 实现方法：异步启动导入流程，解析或调用系统 reg 工具导入文件。
- 技术细节：需要处理编码、Windows Registry Editor Version 头、删除语法和值类型语法。
- 注意事项：导入前应让用户确认来源可信，避免恶意注册表修改。

### 导出 REG 文件
- 风险等级：低
- 短提示：把当前键导出为 .reg 备份。
- 详细说明：用于修改前备份、迁移配置或留存取证材料。
- 实现方法：异步导出当前键和值，写入标准 .reg 文本文件。
- 技术细节：字符串、二进制、多字符串和数值类型需要使用 .reg 格式序列化。
- 注意事项：导出内容可能包含路径、账号或软件配置，应注意隐私。

### 注册表搜索
- 风险等级：低
- 短提示：按关键字搜索键名、值名和值数据。
- 详细说明：用于定位未知配置、恶意项、启动项残留或特定软件痕迹。
- 实现方法：后台线程递归枚举指定根键，将匹配结果投递到搜索结果页。
- 技术细节：应支持停止搜索、进度状态和 UI 线程安全更新；二进制数据只做有限格式化匹配。
- 注意事项：全盘注册表搜索可能耗时较长，搜索期间要允许取消。

### 跳转搜索结果
- 风险等级：低
- 短提示：从搜索结果定位到对应注册表键和值。
- 详细说明：用于快速查看命中的上下文并继续编辑或导出。
- 实现方法：双击结果后导航到路径，刷新值列表并选中命中的值。
- 技术细节：如果命中项已经被删除，应显示失效状态。
- 注意事项：搜索结果可能来自旧快照，操作前最好刷新当前键。

---

## 15. 句柄模块

### 系统句柄枚举
- 风险等级：低
- 短提示：枚举系统中打开的句柄。
- 详细说明：用于分析进程占用文件、互斥体、注册表键、事件、线程、进程等对象。
- 实现方法：调用 NtQuerySystemInformation 的 SystemHandleInformation 或扩展信息类，获取全局句柄表。
- 技术细节：需要根据 PID、句柄值、对象类型索引、访问掩码和对象地址构建行数据。
- 注意事项：系统句柄数量很大，必须使用后台线程和分页或过滤避免 UI 卡顿。

### 句柄类型解析
- 风险等级：低
- 短提示：把对象类型编号解析为 File、Process、Thread 等可读类型。
- 详细说明：用于让用户快速理解句柄指向的内核对象类别。
- 实现方法：复制句柄后调用 NtQueryObject 查询 ObjectTypeInformation。
- 技术细节：部分句柄无法复制或查询，需标记为未知并保留原始状态码。
- 注意事项：查询某些对象名称可能阻塞，需要超时或工作线程保护。

### 对象名称解析
- 风险等级：低
- 短提示：显示句柄关联的对象路径或名称。
- 详细说明：用于定位被占用的文件、命名事件、互斥体、注册表键或设备对象。
- 实现方法：DuplicateHandle 到当前进程后调用 NtQueryObject 的 ObjectNameInformation。
- 技术细节：File 对象返回 NT 路径，需要转换为 Win32 路径以提升可读性。
- 注意事项：命名管道、网络文件或设备路径可能无法转换为普通盘符路径。

### 按进程过滤
- 风险等级：低
- 短提示：只查看某个 PID 打开的句柄。
- 详细说明：用于分析目标进程资源占用、泄漏或锁定文件。
- 实现方法：枚举后按 UniqueProcessId 过滤，或从其他模块传入 PID 自动应用过滤条件。
- 技术细节：与进程模块联动时需要处理进程退出导致的空结果。
- 注意事项：PID 会复用，长时间停留后应刷新确认。

### 按对象路径过滤
- 风险等级：低
- 短提示：按文件名、设备名或对象名搜索句柄。
- 详细说明：用于找出哪个进程占用了某个文件或对象。
- 实现方法：解析对象名称后进行大小写不敏感匹配，并突出显示命中项。
- 技术细节：对文件路径应同时匹配 NT 路径和 DOS 路径。
- 注意事项：名称解析成本较高，建议先按类型或 PID 缩小范围。

### 复制句柄信息
- 风险等级：低
- 短提示：复制选中句柄的完整信息。
- 详细说明：用于提交分析报告或和其他模块联动排查。
- 实现方法：把表格选中行序列化为文本并写入剪贴板。
- 技术细节：应包含 PID、进程名、句柄值、类型、访问掩码、对象名和状态。
- 注意事项：对象名可能包含用户路径或业务文件名，分享前需脱敏。

### 关闭句柄
- 风险等级：高
- 短提示：强制关闭其他进程中的目标句柄。
- 详细说明：用于释放被占用文件或测试资源泄漏，但可能破坏目标进程内部状态。
- 实现方法：以 PROCESS_DUP_HANDLE 打开目标进程，DuplicateHandle 使用 DUPLICATE_CLOSE_SOURCE 关闭源句柄。
- 技术细节：需要 SeDebugPrivilege 才能处理高权限进程；关闭前应确认对象类型和进程名。
- 注意事项：关闭关键句柄可能导致目标程序崩溃、数据损坏或系统不稳定，默认应二次确认。

### 句柄对象类型统计
- 风险等级：低
- 短提示：查看系统对象类型及句柄数量分布。
- 详细说明：用于发现句柄泄漏、异常对象增长或资源占用热点。
- 实现方法：枚举句柄后按对象类型聚合，或查询系统对象类型信息。
- 技术细节：可显示类型名、数量、访问模式和典型对象名样例。
- 注意事项：统计值是快照，频繁变化的系统需要多次采样确认趋势。

---

## 16. 启动项模块

### 启动项总览
- 风险等级：低
- 短提示：汇总展示登录、服务、驱动、计划任务、注册表和 WMI 启动项。
- 详细说明：用于快速了解系统自启动面，发现可疑持久化入口。
- 实现方法：各来源采集后归一化为统一 Entry 模型，显示名称、发布者、路径、位置和类型。
- 技术细节：采集过程放入 worker，UI 提供筛选、导出和复制。
- 注意事项：总览是多来源快照，操作前要确认具体来源页。

### 登录启动项
- 风险等级：中
- 短提示：查看用户登录时自动运行的程序。
- 详细说明：覆盖 Run、RunOnce、启动文件夹等常见登录持久化位置。
- 实现方法：读取 HKCU/HKLM 的 Run 系列注册表键和用户启动目录。
- 技术细节：需要区分当前用户、所有用户、32 位和 64 位注册表视图。
- 注意事项：禁用或删除前应确认路径和发布者，避免影响常用软件。

### 服务启动项
- 风险等级：中
- 短提示：查看随系统或按需启动的 Windows 服务。
- 详细说明：用于识别服务型持久化、后台守护进程和异常服务配置。
- 实现方法：通过 SCM 或注册表 Services 分支采集服务名、显示名、启动类型和路径。
- 技术细节：需要解析 ImagePath、ServiceDll、Start、Type、ObjectName 等字段。
- 注意事项：系统核心服务不可随意禁用，否则可能影响网络、登录或系统稳定性。

### 驱动启动项
- 风险等级：高
- 短提示：查看内核驱动的启动配置。
- 详细说明：用于分析 BOOT、SYSTEM、AUTO、DEMAND 等驱动加载入口。
- 实现方法：读取服务控制管理器或 Services 注册表中 Type 为驱动的条目。
- 技术细节：需要展示内核驱动路径、启动组、错误控制和签名状态。
- 注意事项：禁用启动级驱动可能导致系统无法启动，必须谨慎。

### 计划任务启动项
- 风险等级：中
- 短提示：查看计划任务中由开机或登录触发的自启动任务。
- 详细说明：用于发现 Boot、Logon 触发器形成的持久化任务。
- 实现方法：通过 Windows Task Scheduler PowerShell cmdlet 枚举并筛选任务。
- 技术细节：解析触发器、动作、作者、状态和可执行路径；启停后重新查询状态验证结果。
- 注意事项：企业管理软件和驱动更新器常使用计划任务，不能仅凭存在判断恶意。

### 高级注册表启动位置
- 风险等级：中
- 短提示：浏览更多不常见的注册表自启动位置。
- 详细说明：覆盖 Shell、Explorer、Winlogon、AppInit、IFEO 等高级持久化入口。
- 实现方法：内置启动位置清单，逐项读取对应注册表键和值。
- 技术细节：空路径可隐藏；每个位置需要记录根键、子路径、值名和解释。
- 注意事项：高级位置误改风险高，应优先导出备份。

### WMI 持久化
- 风险等级：高
- 短提示：查看 WMI 事件过滤器、消费者和绑定。
- 详细说明：用于发现基于 WMI 的无文件持久化或系统自动化任务。
- 实现方法：连接 root/subscription，查询 __EventFilter、CommandLineEventConsumer、ActiveScriptEventConsumer 和 __FilterToConsumerBinding。
- 技术细节：需要展示触发查询、消费者命令、脚本内容和绑定关系。
- 注意事项：删除前必须确认绑定链，否则可能残留孤儿对象。

### 隐藏微软项
- 风险等级：低
- 短提示：过滤发布者包含 Microsoft 或 Windows 的条目。
- 详细说明：用于减少噪音，优先关注第三方或未知发布者启动项。
- 实现方法：在模型过滤阶段按发布者字段进行大小写不敏感判断。
- 技术细节：发布者为空或签名解析失败的项目不应被当作微软项隐藏。
- 注意事项：恶意软件可能伪造发布者文本，过滤只用于降噪。

### 隐藏空路径
- 风险等级：低
- 短提示：在高级注册表树中隐藏没有条目的位置。
- 详细说明：用于让高级启动位置列表更聚焦，减少空节点干扰。
- 实现方法：采集后统计每个位置的条目数，过滤条目数为零的节点。
- 技术细节：隐藏只影响显示，不删除任何配置。
- 注意事项：排查完整覆盖面时应关闭该选项。

### 启动项筛选
- 风险等级：低
- 短提示：按名称、发布者、路径、位置和类型模糊搜索。
- 详细说明：用于快速定位目标程序、未知路径或特定持久化类型。
- 实现方法：输入框变更后对统一 Entry 模型做多字段 contains 匹配。
- 技术细节：应支持大小写不敏感、中文路径和环境变量展开后的路径匹配。
- 注意事项：筛选只隐藏不匹配项，不代表启动项已被禁用。

### 导出启动项视图
- 风险等级：低
- 短提示：把当前启动项列表导出为制表符文本。
- 详细说明：用于离线分析、留档或和安全报告关联。
- 实现方法：遍历当前过滤后的模型，写出 TSV 文件。
- 技术细节：字段中换行和制表符需要转义或替换。
- 注意事项：导出内容可能包含用户路径和软件清单，分享前应脱敏。

### 复制启动项
- 风险等级：低
- 短提示：复制当前选中启动项的详细信息。
- 详细说明：用于快速粘贴到日志、工单或搜索引擎。
- 实现方法：序列化当前行字段到剪贴板。
- 技术细节：建议包含原始位置、命令行、发布者、签名和来源类型。
- 注意事项：命令行可能包含令牌或本地路径，外发前需检查。

### 警告后启用或禁用启动项
- 风险等级：高
- 短提示：展示影响、风险等级和恢复能力后，允许修改真实启动来源。
- 详细说明：Run/RunOnce/高级注册表值、启动文件夹、计划任务、服务、驱动和 WMI 均提供来源专用操作；不再用统一只读保护阻止用户继续。
- 实现方法：注册表值备份后删除并可恢复，启动文件移动到暂存目录，计划任务切换 Enabled，服务/驱动修改 SCM 启动类型，WMI 禁用则删除精确匹配对象。
- 技术细节：操作使用结构化定位器，不解析显示文本；任务、SCM 和可恢复来源执行结果复核，失败时按来源能力回滚。
- 注意事项：WMI 删除不可恢复；服务/驱动重新启用使用默认自动/系统启动类型，不保证还原原始启动类型。

### 高风险启动来源警告
- 风险等级：高
- 短提示：系统关键来源不再只读，但必须在修改前显示严重风险。
- 详细说明：机器范围、策略项、关键注册表、驱动、服务、Winsock 和 WMI 可以在警告后操作，权限不足时提供管理员恢复入口。
- 实现方法：后端返回稳定风险等级和原因码，界面在右键菜单、详情和确认框中展示风险，默认确认选择为取消。
- 技术细节：无法解析的合成错误行和损坏恢复记录没有真实来源定位器，只显示诊断；这不是来源只读保护。
- 注意事项：错误修改可能造成无法登录、网络失效、蓝屏或无法启动，确认前应准备系统级恢复方案。

### 永久删除启动项
- 风险等级：高
- 短提示：在不可恢复警告后永久删除支持的注册表、文件、SCM 或 Winsock 来源。
- 详细说明：注册表值/子键、启动文件、服务、驱动和 Winsock 目录可永久删除；计划任务使用禁用或系统任务计划程序管理，WMI 通过不可恢复的“禁用”动作删除。
- 实现方法：确认框展示最终目标、来源、风险等级、风险说明和不可恢复声明，再调用来源专用删除路径。
- 技术细节：删除整棵注册表子键和 Winsock 目录不会创建 KSword 备份；SCM 删除使用 `DeleteService`。
- 注意事项：永久删除无法由 KSword 恢复，优先使用可逆禁用；确需删除时应先导出或准备系统备份。

---

## 17. 服务模块

### 服务列表
- 风险等级：低
- 短提示：查看 Windows 服务的状态、启动类型和路径。
- 详细说明：用于分析后台服务、驱动服务、系统组件和第三方常驻程序。
- 实现方法：通过 OpenSCManager 和 EnumServicesStatusEx 枚举服务，再查询配置和描述。
- 技术细节：需要展示服务名、显示名、状态、启动类型、账号、PID、BinaryPath 和 ServiceDll。
- 注意事项：部分服务配置需要管理员权限才能完整读取。

### 服务刷新
- 风险等级：低
- 短提示：重新加载服务列表和当前筛选结果。
- 详细说明：用于同步外部服务变更或操作后的状态变化。
- 实现方法：后台 worker 重新枚举 SCM，完成后替换模型并保留过滤条件。
- 技术细节：刷新期间按钮应禁用或显示忙碌状态，避免重复 worker。
- 注意事项：服务状态变化可能有延迟，启动或停止后可等待再刷新。

### 服务筛选
- 风险等级：低
- 短提示：按名称、显示名、描述、路径、账号和状态过滤服务。
- 详细说明：用于快速定位目标服务或可疑服务。
- 实现方法：对服务模型多字段执行大小写不敏感匹配。
- 技术细节：筛选不应破坏当前选中项和右侧详情展示。
- 注意事项：隐藏微软项时仍要允许用户恢复完整列表。

### 启动服务
- 风险等级：中
- 短提示：请求 SCM 启动选中的服务。
- 详细说明：用于恢复被停止的服务或验证服务配置是否可运行。
- 实现方法：调用 StartService，并轮询 QueryServiceStatusEx 观察状态变化。
- 技术细节：服务可能依赖其他服务，失败时应展示 Win32 错误码。
- 注意事项：启动未知服务可能运行不可信代码，需确认路径和签名。

### 停止服务
- 风险等级：高
- 短提示：请求 SCM 停止选中的服务。
- 详细说明：用于排查故障、释放资源或阻止可疑服务继续运行。
- 实现方法：调用 ControlService 发送 SERVICE_CONTROL_STOP，并等待状态变为 STOPPED。
- 技术细节：服务可拒绝停止，也可能需要先停止依赖服务。
- 注意事项：停止系统服务可能导致网络、登录、音频、防护或桌面功能异常。

### 暂停与继续服务
- 风险等级：中
- 短提示：暂停或恢复支持暂停控制的服务。
- 详细说明：用于临时挂起服务工作而不完全终止服务进程。
- 实现方法：调用 ControlService 发送 PAUSE 或 CONTINUE 控制码。
- 技术细节：只有 SERVICE_ACCEPT_PAUSE_CONTINUE 的服务支持该操作。
- 注意事项：暂停期间服务可能无法响应业务请求，需谨慎使用。

### 重启服务
- 风险等级：高
- 短提示：先停止再启动选中服务。
- 详细说明：用于快速应用服务配置变更或恢复异常服务。
- 实现方法：调用停止流程，等待停止完成后再调用启动流程。
- 技术细节：需要处理停止超时、启动失败和依赖服务状态。
- 注意事项：重启关键服务可能造成短暂断网、认证失败或应用中断。

### 修改启动类型
- 风险等级：高
- 短提示：设置服务为自动、手动、禁用或延迟启动。
- 详细说明：用于控制服务是否随系统启动，排查持久化或优化启动项。
- 实现方法：调用 ChangeServiceConfig 或 ChangeServiceConfig2 修改 StartType 和延迟自动启动标志。
- 技术细节：驱动服务和普通服务支持的启动类型不同；禁用后启动会失败。
- 注意事项：禁用系统核心服务或驱动可能导致系统功能不可用甚至无法启动。

### 服务删除
- 风险等级：高
- 短提示：从 SCM 中删除选中的服务配置。
- 详细说明：用于清理无效、恶意或卸载残留的服务项。
- 实现方法：打开服务句柄后调用 DeleteService，必要时提示重启后完全生效。
- 技术细节：如果服务仍在运行或句柄被占用，删除会标记为待删除。
- 注意事项：删除前必须确认服务名、路径和用途；建议先导出 JSON 备份。

### 打开二进制位置
- 风险等级：低
- 短提示：在资源管理器中定位服务可执行文件。
- 详细说明：用于检查文件签名、版本、路径和所在目录。
- 实现方法：解析 BinaryPathName 后调用 explorer /select 打开所在位置。
- 技术细节：命令行路径可能带参数，需要提取真实可执行文件路径。
- 注意事项：路径不存在或环境变量未展开时应给出提示。

### 打开 ServiceDll 位置
- 风险等级：低
- 短提示：定位 svchost 服务使用的 ServiceDll。
- 详细说明：用于分析共享宿主服务实际加载的 DLL。
- 实现方法：读取 Parameters 下的 ServiceDll 值，展开环境变量后用资源管理器定位。
- 技术细节：ServiceDll 常位于 HKLM\SYSTEM\CurrentControlSet\Services\服务名\Parameters。
- 注意事项：不是所有服务都有 ServiceDll，普通 EXE 服务通常为空。

### 文件属性
- 风险等级：低
- 短提示：打开服务二进制文件的系统属性窗口。
- 详细说明：用于查看签名、版本信息、时间戳和安全权限。
- 实现方法：调用 ShellExecuteEx 触发 properties 动作。
- 技术细节：文件路径提取失败、文件不存在或权限不足都会导致打开失败。
- 注意事项：属性窗口只读查看，不代表文件安全可信。

### 跳转进程详情
- 风险等级：低
- 短提示：跳到进程模块查看服务关联 PID。
- 详细说明：用于把服务配置和运行时进程状态关联起来分析。
- 实现方法：从服务状态读取 dwProcessId，通过信号或 QMetaObject 调用进程模块定位。
- 技术细节：停止状态服务没有 PID；共享 svchost 进程可能承载多个服务。
- 注意事项：PID 可能变化，跳转前应刷新服务状态。

### 跳转句柄过滤
- 风险等级：低
- 短提示：跳到句柄模块查看服务进程打开的句柄。
- 详细说明：用于分析服务占用文件、注册表键、管道和同步对象。
- 实现方法：把服务 PID 传给句柄模块作为过滤条件。
- 技术细节：需要处理目标进程退出或权限不足导致的句柄枚举失败。
- 注意事项：共享服务进程的句柄不一定只属于当前服务。

### 导出服务列表
- 风险等级：低
- 短提示：把当前服务视图导出为 TSV。
- 详细说明：用于离线审计、对比系统状态或形成报告。
- 实现方法：遍历当前过滤后的服务模型，写入制表符分隔文本。
- 技术细节：需要对字段中的换行和制表符做转义。
- 注意事项：导出包含本机服务路径和账号信息，分享前需脱敏。

### 导出服务 JSON
- 风险等级：低
- 短提示：导出选中服务的完整结构化信息。
- 详细说明：用于保存单个服务的详细配置和分析证据。
- 实现方法：将 ServiceEntry 字段序列化为 JSON 文件。
- 技术细节：应包含基础信息、配置、失败动作、触发器、DLL、PID、签名和时间字段。
- 注意事项：JSON 只作为备份和分析，不一定能直接一键恢复。

### 跳转文件模块分析
- 风险等级：低
- 短提示：把服务二进制或 ServiceDll 发送到文件模块查看详情。
- 详细说明：用于继续分析文件哈希、签名、PE 信息和占用情况。
- 实现方法：通过主窗口信号调用 FileDock 并传入目标路径。
- 技术细节：需要区分 EXE 服务路径和 svchost 的 ServiceDll 路径。
- 注意事项：文件不存在或路径解析失败时应提示用户。

---

## 18. 杂项、启动编辑器与内置编辑器

### 杂项工作台
- 风险等级：低
- 短提示：承载不适合归入主安全模块的系统工具。
- 详细说明：用于放置启动编辑器等辅助功能，避免主标签过度拥挤。
- 实现方法：MiscDock 作为容器 Dock，内部按页加载 BootEditorTab 等子工具。
- 技术细节：每个子工具应独立初始化、独立刷新和独立处理权限提示。
- 注意事项：新增杂项功能时也要补充悬停提示和风险等级。

### 声音来源
- 风险等级：低
- 短提示：识别当前或最近通过输出端点发声的进程。
- 详细说明：连续采样 Core Audio 会话峰值、状态、音量、静音与输出端点，再按会话 PID 显示进程；进程详情页复用同一检测并锁定当前 PID。
- 实现方法：R3 使用 Core Audio 会话和端点 meter 归因，R0 复用 Process Cross-View 与 Runtime Detail 核验会话 PID 的进程身份。
- 技术细节：默认显示确认或最近发声的会话；A/B/C 分别展示概览、音频链路和 R0 多源证据，表头右键可自定义列。
- 注意事项：R0 只佐证 Core Audio 返回的进程身份，不直接读取音频流；驱动不可用时保留 R3 检测并明确显示降级。

### 系统全局变速
- 风险等级：极高
- 短提示：按整数倍率改变全系统性能计数器的时间流速。
- 详细说明：支持 N 倍加速、减速到 1/N 和连续恢复到 1x；页面可明确选择 Hyper-V 共享 QPC 后端或 HAL 兼容后端，并持续显示状态代次、共享页与内核槽证据。
- 实现方法：Hyper-V 后端校验 Microsoft Hv 身份和当前 Windows 分区的共享 QPC 页，原子调整共享倍率与偏置，同时将内核 HAL 计数器槽切换为同一连续虚拟计数器；HAL 兼容后端保留原有关闭用户态 QPC 快速旁路的路径。R3 只通过 `ArkDriverClient` 的版本化 IOCTL 控制。
- 技术细节：共享页按非零序列号、倍率、偏置的稳定快照读写，发布前以原始 QPC 公式校验布局；周期维护只接受原值或本功能最后发布值，遇到未知第三方写入或钩子时失败关闭，不会静默降级到 HAL 后端。
- 注意事项：该功能会影响全系统超时、同步、网络、音视频、游戏和安全软件，可能冻结或蓝屏；Hyper-V 后端还会改写当前分区的共享 QPC 页。启用前必须保存工作、勾选持久确认并输入确认短语，建议仅在虚拟机中使用；恢复到 1x 为保持单调性会继续由驱动持有计时路径，直至驱动卸载。

### BCD 启动项读取
- 风险等级：中
- 短提示：读取 Windows 启动配置数据中的启动条目。
- 详细说明：用于查看启动管理器、系统启动项、安全模式、测试签名和调试开关等配置。
- 实现方法：执行 bcdedit /enum 或相关命令，解析输出为条目列表和右侧字段。
- 技术细节：需要处理本地化输出、GUID 标识符、bootmgr 与 loader 条目的字段差异。
- 注意事项：读取通常安全，但某些配置需要管理员权限才能完整显示。

### BCD 当前条目编辑
- 风险等级：高
- 短提示：修改选中启动项的描述、默认项或启动参数。
- 详细说明：用于调整启动菜单、排查系统启动问题或配置测试环境。
- 实现方法：根据右侧字段生成 bcdedit /set 或 /deletevalue 命令并执行。
- 技术细节：每个字段需要映射到 BCD 属性名；空值应区分删除字段和写入空字符串。
- 注意事项：错误修改 BCD 可能导致系统无法启动，必须在写入前确认目标条目。

### BootMgr 超时设置
- 风险等级：中
- 短提示：修改启动菜单等待时间。
- 详细说明：用于控制多系统或恢复环境启动菜单停留时长。
- 实现方法：调用 bcdedit /timeout 数值。
- 技术细节：数值需要限制范围，避免非法输入导致命令失败。
- 注意事项：设置太短可能来不及选择其他启动项。

### 安全模式选项
- 风险等级：高
- 短提示：为启动项设置或关闭安全模式。
- 详细说明：用于排障时让系统以最小、网络或命令行安全模式启动。
- 实现方法：根据选择写入 safeboot minimal、network、alternateshell，关闭时删除 safeboot 字段。
- 技术细节：命令行安全模式通常还需要 safebootalternateshell 配套字段。
- 注意事项：误设安全模式可能导致下次启动环境受限，需提供关闭入口。

### BCD 重读当前条目
- 风险等级：低
- 短提示：重新加载当前选中启动项字段但不写入。
- 详细说明：用于撤销界面未应用修改或同步外部 bcdedit 变更。
- 实现方法：重新执行读取流程并刷新右侧字段。
- 技术细节：应保留当前选中的 identifier。
- 注意事项：重读会覆盖界面中的未保存输入。

### 自定义 bcdedit 命令
- 风险等级：高
- 短提示：执行用户输入的 bcdedit 参数并显示原始输出。
- 详细说明：用于覆盖界面尚未封装的高级 BCD 操作。
- 实现方法：将输入规范化为 bcdedit 命令或参数数组，通过 QProcess 执行并收集 stdout、stderr 和退出码。
- 技术细节：应避免通过 shell 拼接执行，优先使用程序名加参数列表。
- 注意事项：这是高风险入口，输入错误可能破坏启动配置，必须显示确认。

### 内置代码编辑器
- 风险等级：低
- 短提示：在程序内查看和编辑文本代码文件。
- 详细说明：用于快速打开脚本、配置、日志或源代码，不必切换外部编辑器。
- 实现方法：CodeEditorWidget 和 CodeTextEdit 提供文件加载、文本编辑、行号、查找和保存。
- 技术细节：需要处理编码检测、换行格式、未保存状态和大文件性能。
- 注意事项：保存前应确认路径可写，避免覆盖重要文件。

### 编辑器文件会话
- 风险等级：低
- 短提示：记录已打开文件和编辑状态。
- 详细说明：用于在多文件分析时维护标签页、路径、修改标记和重新加载状态。
- 实现方法：CodeEditorFileSession 保存文件路径、显示名、编码、脏标记和文本缓冲。
- 技术细节：外部文件变化时需要提示重新加载或保留当前修改。
- 注意事项：不要在崩溃恢复文件中保存敏感内容，除非用户明确同意。

### HEX 编辑器
- 风险等级：中
- 短提示：以十六进制和 ASCII 方式查看二进制文件。
- 详细说明：用于分析 PE、日志、转储、未知数据文件或协议数据。
- 实现方法：HexEditorWidget 读取文件字节，左侧显示偏移和十六进制，右侧显示 ASCII。
- 技术细节：大文件应分块加载或虚拟显示；编辑时需要维护字节数组和修改标记。
- 注意事项：直接修改二进制文件风险较高，保存前建议备份。

### HEX 查找
- 风险等级：低
- 短提示：按十六进制字节、ASCII 或 UTF-16 文本查找内容。
- 详细说明：用于定位魔数、字符串、导入表特征或特定字节序列。
- 实现方法：根据查找模式把输入转换为 byte pattern，在字节数组中搜索并跳转命中位置。
- 技术细节：十六进制模式需要校验偶数字节和非法字符；UTF-16 需要处理端序。
- 注意事项：大文件查找可能耗时，应显示进度或保持界面响应。

### HEX 跳转
- 风险等级：低
- 短提示：按绝对地址、相对偏移或行号跳到指定位置。
- 详细说明：用于快速定位文件结构中的指定偏移。
- 实现方法：解析用户输入的十进制或十六进制数值，根据模式换算为字节偏移。
- 技术细节：地址模式如果结合模块基址，需要明确基址来源；行号需要乘以每行字节数。
- 注意事项：越界输入应提示而不是自动截断到文件末尾。

### ASCII 视图
- 风险等级：低
- 短提示：以字符形式辅助阅读二进制内容。
- 详细说明：用于快速发现文本片段、路径、URL、命令行或配置字符串。
- 实现方法：将可打印字节映射为字符，不可打印字节显示为占位符。
- 技术细节：不同编码下字符含义不同，ASCII 视图只提供近似辅助。
- 注意事项：不要把 ASCII 视图当作完整 Unicode 解码结果。

---

## 19. KswordARKDriver R0 功能

### 驱动控制设备
- 风险等级：高
- 短提示：用户态与 KswordARK 内核驱动通信的控制入口。
- 详细说明：承载进程、文件、内核、回调、日志等 R0 能力的 IOCTL 通道。
- 实现方法：驱动创建设备对象和符号链接，用户态通过 CreateFile 打开设备并 DeviceIoControl。
- 技术细节：每个 IOCTL 应定义访问位、输入输出结构、版本和长度校验。
- 注意事项：控制设备 DACL 和 IOCTL FILE_*_ACCESS 是权限边界，危险操作不能允许普通用户直接调用。

### 驱动日志设备
- 风险等级：中
- 短提示：向用户态输出内核驱动运行日志。
- 详细说明：用于调试驱动初始化、IOCTL 处理、失败状态码和安全审计。
- 实现方法：驱动维护环形日志缓冲区，用户态通过日志设备读取帧。
- 技术细节：日志帧包含等级、时间、内容和结束标记；多线程写入需要锁保护。
- 注意事项：日志不应泄漏内核地址、敏感路径或令牌信息。

### R0 进程终止
- 风险等级：极高
- 短提示：由驱动强制终止目标进程。
- 详细说明：用于处理普通权限无法结束的进程，但属于强破坏性操作。
- 实现方法：驱动按 PID 引用 EPROCESS 或打开进程对象，再调用内核终止路径。
- 技术细节：需要校验 PID、排除系统关键进程，并记录调用来源。
- 注意事项：强杀安全软件、系统进程或关键业务进程可能导致系统不稳定或数据损坏。

### R0 文件删除
- 风险等级：极高
- 短提示：由驱动尝试删除用户态无法删除的文件。
- 详细说明：用于清理被保护或被占用文件，但可能绕过正常文件系统保护。
- 实现方法：驱动按内核路径打开文件对象，设置删除语义或调用底层文件操作。
- 技术细节：需要转换 DOS 路径到 NT 路径，处理共享访问、重解析点和目录删除。
- 注意事项：不能自动杀进程或删除关键系统文件，必须让用户确认目标和影响。

### R0 文件解锁辅助
- 风险等级：高
- 短提示：辅助识别或释放锁定目标文件的进程句柄。
- 详细说明：用于解决文件被占用导致无法移动、删除或重命名的问题。
- 实现方法：用户态枚举持有者并让用户选择，必要时调用驱动关闭句柄或终止进程。
- 技术细节：应优先使用可审计的选择流程，避免后台自动终止无关进程。
- 注意事项：关闭句柄或终止进程都可能导致数据损坏，默认应保守。

### SSDT 枚举
- 风险等级：高
- 短提示：读取系统服务描述符表信息。
- 详细说明：用于检查系统调用表是否存在异常修改或 Hook 迹象。
- 实现方法：驱动定位 SSDT 并返回服务索引、函数地址和模块归属。
- 技术细节：Windows 版本、KASLR 和 PatchGuard 会影响可行性与风险。
- 注意事项：只读枚举也要避免触碰受保护结构导致蓝屏。

### 内核模块枚举
- 风险等级：中
- 短提示：列出已加载内核模块和驱动镜像。
- 详细说明：用于识别第三方驱动、隐藏驱动痕迹或异常加载路径。
- 实现方法：调用 AuxKlibQueryModuleInformation 或 ZwQuerySystemInformation 获取模块列表。
- 技术细节：返回基址、大小、路径、文件名和时间戳等信息。
- 注意事项：不要向普通 UI 暴露可被滥用的精确内核地址，或至少提供隐藏选项。

### 内核对象枚举
- 风险等级：中
- 短提示：枚举对象命名空间或特定内核对象。
- 详细说明：用于查看 Device、Driver、BaseNamedObjects 等对象树。
- 实现方法：打开对象目录并调用 ZwQueryDirectoryObject 迭代条目。
- 技术细节：需要处理 Unicode 对象名、目录递归和访问失败状态。
- 注意事项：对象命名空间受权限和会话影响，结果并非全局完整视图。

### 回调规则配置
- 风险等级：极高
- 短提示：配置进程、线程、镜像加载等内核回调拦截规则。
- 详细说明：用于对指定路径、进程或事件进行观察、允许、拒绝或记录。
- 实现方法：用户态构造规则结构，下发到驱动，驱动在回调函数中匹配规则并执行动作。
- 技术细节：涉及 PsSetCreateProcessNotifyRoutineEx、PsSetCreateThreadNotifyRoutine、PsSetLoadImageNotifyRoutine 等回调。
- 注意事项：错误规则可能阻止系统正常启动程序或加载 DLL，必须提供清空和恢复手段。

### 外部回调枚举
- 风险等级：高
- 短提示：查看系统中已注册的 Notify、对象、过滤器及扩展内核回调。
- 详细说明：用于发现安全软件、EDR、监控工具或可疑驱动注册的进程、线程、镜像、注册表、Ob、Minifilter、WFP、BugCheck、Shutdown、文件系统、登录会话、CallbackObject、镜像验证和 NMI 回调线索。
- 实现方法：驱动以公开 API、PDB profile 或有界私有结构遍历生成全量清单；R3 按页读取并展示地址、注册类型、模块归属、来源可信度、移除策略和身份哈希。
- 技术细节：协议 v3 对完整有序清单计算快照哈希，并给每行计算稳定身份哈希；后续页必须匹配首个页面的哈希和总数，主程序检测到并发变化后最多整轮重试三次并执行最终复核。
- 注意事项：私有结构版本相关性强，仅作为诊断证据；模式定位、节点或模块归属校验失败时应展示失败状态，不能把未解析地址盲目认定为恶意。

### 外部回调移除
- 风险等级：极高
- 短提示：尝试注销其他驱动注册的内核回调。
- 详细说明：用于高级应急场景，但会影响安全软件、审计工具或系统监控能力。
- 实现方法：根据用户选择的回调类型和地址调用对应 PsRemove 或 PsSet...Remove 语义接口。
- 技术细节：必须确保调用者权限、回调类型、地址归属和结构有效性，避免任意地址传入内核 API。
- 注意事项：这是本地权限边界敏感能力，控制设备和 IOCTL 必须限制为管理员或更高可信主体，并要求明确确认。

### 注册表回调
- 风险等级：极高
- 短提示：监控或拦截注册表创建、设置、删除等事件。
- 详细说明：用于审计持久化修改或保护关键注册表路径。
- 实现方法：驱动注册 CmRegisterCallbackEx，在回调中匹配规则并记录或阻止操作。
- 技术细节：回调上下文包含操作类型、键对象、值名和调用进程信息。
- 注意事项：阻止注册表操作可能影响安装、更新和系统配置，规则必须精准。

### 句柄或对象回调
- 风险等级：极高
- 短提示：监控或限制进程、线程对象句柄打开。
- 详细说明：用于保护指定进程不被调试、终止或注入。
- 实现方法：驱动通过 ObRegisterCallbacks 注册对象回调，修改 DesiredAccess 或记录事件。
- 技术细节：需要按对象类型和目标进程匹配，避免影响系统正常句柄创建。
- 注意事项：对象回调实现错误容易导致兼容性问题或蓝屏。

### 驱动卸载
- 风险等级：高
- 短提示：释放设备、符号链接、回调和内部资源。
- 详细说明：用于干净停止 KswordARKDriver，避免残留回调或设备对象。
- 实现方法：卸载例程注销所有已注册回调，删除符号链接和设备对象，释放全局缓冲。
- 技术细节：卸载前要等待正在执行的 IOCTL 和回调完成。
- 注意事项：如果仍有回调未注销或引用未释放，可能导致卸载失败或系统崩溃。

---

## 20. APIMonitor、Taskbar、HUD 与发布辅助

### APIMonitor 示例工程
- 风险等级：中
- 短提示：用于演示或测试 API 监控能力的辅助工程。
- 详细说明：帮助验证用户态 Hook、调用记录、参数展示或监控 UI 的可行性。
- 实现方法：独立工程编译测试程序或监控组件，通过目标 API 调用产生样本数据。
- 技术细节：常见实现包括 IAT Hook、Inline Hook、动态代理或调试事件记录。
- 注意事项：Hook 类技术容易被安全软件拦截，也可能影响目标进程稳定性。

### Taskbar 辅助组件
- 风险等级：低
- 短提示：提供顶部 AppBar、状态展示和 SOS 快速拉起主程序能力。
- 详细说明：Taskbar 是独立辅助程序，可展示音频频谱、CPU、网络速率等状态；在后台检测 `S O S Enter` 固定序列后启动 `Ksword5.1.exe`。
- 实现方法：通过 Qt 创建每屏顶部 AppBar 窗口；SOS 功能由 `SosHotkeyLauncher` 在专用高优先级线程安装 `WH_KEYBOARD_LL` 低级键盘钩子。
- 技术细节：SOS 状态机只匹配 `S`、`O`、`S`、`Enter`，忽略常见修饰键和注入键事件，命中后用 `CreateProcessW` 拉起主程序。
- 注意事项：该功能不应记录任意键盘输入；发布时应确保 `Taskbar.exe` 能在同目录或兼容构建路径找到 `Ksword5.1.exe`。

### KswordHUD
- 风险等级：低
- 短提示：提供轻量悬浮显示或状态展示能力。
- 详细说明：用于在主窗口外展示运行状态、提示或性能信息。
- 实现方法：创建无边框置顶窗口或透明叠加层，定时刷新文本和状态。
- 技术细节：需要处理 DPI、鼠标穿透、置顶状态和多显示器位置。
- 注意事项：悬浮窗不要遮挡关键操作，也不要在全屏程序中造成干扰。

### 发布脚本
- 风险等级：中
- 短提示：自动收集可执行文件、依赖、资源和驱动到发布目录。
- 详细说明：用于生成可分发的 Ksword 程序包，减少手动复制遗漏。
- 实现方法：脚本调用构建输出、windeployqt、资源复制和压缩流程。
- 技术细节：需要区分 Debug、Release、x64、驱动签名文件和 Qt 插件目录。
- 注意事项：发布包不应包含临时文件、私钥、调试符号或本地绝对路径。

### 资源文件
- 风险等级：低
- 短提示：存放图标、样式、背景图和 Qt 资源索引。
- 详细说明：用于保证 UI 图标、QSS、背景和文案资源随程序一起加载。
- 实现方法：通过 qrc 或发布目录复制方式让 Qt 在运行时找到资源。
- 技术细节：资源路径和代码中的 :/Icon、style 路径必须一致。
- 注意事项：重命名资源时要全局搜索引用，避免运行时图标丢失。

### 许可证文件
- 风险等级：低
- 短提示：声明项目版权、作者和授权条款。
- 详细说明：用于让使用者明确程序归属、可用范围、免责条款和再分发要求。
- 实现方法：在仓库根目录维护 LICENSE 或 LICENCE 文件，并在发布包中包含。
- 技术细节：许可证年份、作者名和条款类型要与项目实际意图一致。
- 注意事项：如果依赖第三方库，还需要遵守对应第三方许可证。

---

## 21. 通用安全提示模板

### 只读查看类功能
- 风险等级：低
- 短提示：仅采集并展示系统状态，不主动修改目标。
- 详细说明：适用于进程列表、网络连接、模块列表、硬件信息、注册表浏览和服务列表等。
- 实现方法：调用系统查询 API 或驱动只读 IOCTL，把结果展示到表格、树或文本框。
- 技术细节：应使用后台线程，避免枚举大量系统对象时阻塞界面。
- 注意事项：只读功能也可能暴露敏感信息，导出或复制前需脱敏。

### 用户态修改类功能
- 风险等级：中
- 短提示：通过 Win32、Qt 或系统命令修改用户态配置。
- 详细说明：适用于注册表编辑、服务启动停止、启动项调整、BCD 命令和窗口操作等。
- 实现方法：调用对应系统 API 或受控命令行，并把错误码翻译为用户可理解的提示。
- 技术细节：必须校验输入、确认目标、处理权限不足和操作失败回滚。
- 注意事项：修改前建议备份；不要在未确认情况下批量修改。

### 驱动和内核类功能
- 风险等级：高至极高
- 短提示：通过内核驱动读取或改变系统底层状态。
- 详细说明：适用于 R0 进程终止、文件删除、回调管理、对象回调、SSDT 和内核对象操作。
- 实现方法：用户态通过受限设备句柄发送 IOCTL，驱动校验结构、权限和目标后执行。
- 技术细节：IOCTL 必须使用正确访问位，设备对象 DACL 必须限制低权限用户，所有输入必须长度校验。
- 注意事项：任何会终止进程、关闭句柄、移除回调或删除文件的能力都应二次确认并记录审计日志。

### 异步任务类功能
- 风险等级：低
- 短提示：后台执行耗时查询或操作，完成后更新 UI。
- 详细说明：适用于文件扫描、注册表搜索、服务刷新、句柄解析、硬件采样和驱动枚举。
- 实现方法：使用 std::thread、QtConcurrent 或 worker 对象执行任务，通过 queued signal 回到 UI 线程。
- 技术细节：对象析构时必须先请求停止，再避免 BlockingQueuedConnection 与 join 互相等待。
- 注意事项：关闭窗口时要保证 worker 可取消，不能让 UI 线程等待正在等待 UI 的后台线程。

### 文件路径类功能
- 风险等级：中
- 短提示：对用户选择或系统枚举到的路径执行操作。
- 详细说明：适用于文件删除、属性查看、签名分析、服务二进制定位、启动项路径解析和编辑器打开文件。
- 实现方法：统一规范化路径、展开环境变量、解析命令行中的真实文件路径，并处理重解析点。
- 技术细节：同一文件可能有 DOS 路径、NT 路径、短路径和符号链接路径。
- 注意事项：不要盲目信任路径文本，尤其是服务 ImagePath、启动项命令行和注册表字符串。

### 导出和复制类功能
- 风险等级：低
- 短提示：把当前视图保存到文件或剪贴板。
- 详细说明：适用于日志、启动项、服务、注册表、进程和文件分析结果导出。
- 实现方法：遍历当前模型或选中项，序列化为 TSV、JSON、文本或 REG 格式。
- 技术细节：需要处理编码、换行、制表符、二进制数据和大字段截断。
- 注意事项：导出内容常包含本机路径、用户名、进程命令行和配置数据，分享前需脱敏。

### 提权依赖类功能
- 风险等级：中
- 短提示：当前权限不足时功能可能失败或结果不完整。
- 详细说明：适用于服务控制、驱动操作、跨进程句柄、系统注册表、进程内存和文件强制删除。
- 实现方法：启动时检测管理员状态和关键特权，操作失败时提示以管理员重新运行。
- 技术细节：管理员不等于所有特权已启用，SeDebugPrivilege 等仍需显式调整。
- 注意事项：不要把权限不足伪装成目标不存在；错误提示应包含 Win32 或 NTSTATUS 码。

### 危险操作确认
- 风险等级：高
- 短提示：对不可逆或高影响操作执行二次确认。
- 详细说明：适用于结束进程、删除文件、删除注册表键、关闭句柄、删除服务、修改 BCD 和移除内核回调。
- 实现方法：弹出确认对话框，展示目标名称、路径、PID、类型、影响和是否可恢复。
- 技术细节：确认内容应来自最终执行目标，避免 TOCTOU 导致显示对象与执行对象不一致。
- 注意事项：批量操作必须列出所有目标，并允许用户取消或逐项选择。

### 鼠标悬停提示编写规则
- 风险等级：低
- 短提示：为 UI 控件提供短句和详细说明两级提示。
- 详细说明：短提示用于控件 tooltip，详细说明可用于状态栏、帮助面板或长悬停卡片。
- 实现方法：每个功能维护短提示、意义、实现方法、技术细节和注意事项字段。
- 技术细节：提示应说明动作影响、权限要求、是否会修改系统、失败时如何处理。
- 注意事项：危险功能必须在提示中直接写明风险，不要用模糊词弱化影响。
