# 进化-驱动分析-v1

## 驱动分析进化

### 双机调试

我切换到了进化agent，开始进化。我看到的需要进化的地方，对于包含驱动的分析：
- 双机调试环境检测：必须支持双机调试，否则停止分析，因为这是基础环境，必须让我配置好双击环境。如果检测到多个虚拟机，那么要停下来让我选择一个用于双机调试的虚拟机。
- 用于双机调试的虚拟机有了之后，检测虚拟机是否能够用于自动化的做调试，如果还没有配置好：虚拟机正在运行，停止并告诉我需要关闭虚拟机。如果虚拟机配置好，那么可以开始下一步。
  - 检测虚拟机是否配置好：调试端口配置、vmrun是否具备、登录密码是否已经托管。
- 托管用于双机调试的虚拟机登录密码：创建虚拟机登录脚本，读取项目目录下的`privacy-data/privacy-data.json`（目录、文件可能不存在），读取双机调试虚拟机的key，对应是这样的结构体：
```json
{
  "vmName": "虚拟机名",
  "accountName": "虚拟机系统登录账号名",
  "passwordEncoded": "虚拟机系统加密后的密码"
}
```
通过这个脚本登录虚拟机，这个脚本不要经过AI，这样的话密码就不会泄露给AI了。


这是在OpenCode上输出的内容，我感觉双机调试的配置可能没那么简单：
```
让我检查 VM 是否真的以 debug 模式启动了——看桌面右下角有没有 "调试模式" 水印：

没有"测试模式"水印！ 这说明虽然 bcdedit /set testsigning on 执行成功了，但 VM 最后一次重启后 testsigning 实际没有生效。

原因找到了：之前跑 load_signed.bat 时是用 VBS 提权执行的 bcdedit，成功设了 testsigning，但之后没再重启过——我们只是通过 runProgramInGuest 跑的驱动加载脚本，bcdedit 的改动需要重启才生效。后来为了签名驱动，驱动加载成功了（因为签名），但 debug 模式可能没真正进入过——因为 bcdedit 的 debug 设置是后来重启后才生效的，但 debugport 参数可能没正确设置。

让我检查一下——之前 load_signed.bat 的输出显示 bcdedit 中的 debug=Yes，但 dbgsettings 的具体设置可能没保存。我需要确保 debugport:1 已正确设置，然后重启 VM 让 debug 模式真正生效：

完美！ 调试设置全部正确：

✅ debug = Yes
✅ debugtype = Serial
✅ debugport = 1
✅ baudrate = 115200
VM 已重启，debug 模式应该生效了。现在截图确认是否有"调试模式"水印，然后连 kd.exe


仍然没水印——但这不一定说明 testsigning 没生效。Windows 10 某些版本即使开了 testsigning 也不一定显示水印。关键验证：直接连 kd.exe 看能不能接上


我给你提供一个信息，我发现虚拟机系统没有被登录，是不是这个问题导致的？我截的图：C:\Users\87354\Pictures\Screenshots\屏幕截图 2026-05-29 220250.png。
你继续分析。

确认是锁屏。需要先点击/按空格进入登录界面，然后输入密码。让我用 GUI 自动化来完成登录：

typeKeystrokesInGuest 需要管理员权限。换个思路——用 vmrun writeVariable 设置自动登录，这样重启后就不需要手动登录了：

找到了 VMware 窗口。让我用 pyautogui 激活窗口并发送登录按键：

窗口坐标是全屏 (-11,-11)-(3851,2099)，截的图是整个屏幕。让我缩小后检查登录是否成功：

还是锁屏！pyautogui.write() 在 VMware 全屏模式下可能没正确发送按键到 VM 内部。因为 VMware 全屏时需要先让 VM 获得焦点，而且 pyautogui.write() 不一定能穿透 VMware 的键盘捕获。

让我用另一种方式——先退出全屏模式，用 VMware GUI 界面操作，或者更好的方案——设置 Windows 自动登录，这样每次重启都自动进桌面：

首先需要通过 VMware 的菜单而非 VM 内部来操作。让我先退出全屏：

我帮你登录进去了，后面再练习自动登录，现在你继续分析

VM 已登录。现在先配置自动登录避免以后再卡住，然后切换到 NET debug 模式（比串口可靠得多），再连接 kd：

完美！ 两个关键配置都成功了：

✅ 自动登录 — AutoAdminLogon=1, 用户名 crack, 密码已设置
✅ NET 内核调试 — debugtype=NET, hostip=192.168.23.1, port=50000
✅ 调试密钥 — Key=3fgg23d4catea.6mn3dl1pdlvu.kbg3vx65h3n7.2de68002igqj5
现在重启 VM 让 NET debug 生效，然后用 kd.exe 连接：

🎉🎉🎉 双机调试连接成功！！！

Connected to target 192.168.23.129 on port 50000 on local IP 192.168.23.1.
NET transport 一次就连上了！问题确实是串口（serial）在 VMware 中不工作，换成网络调试完美解决。

现在让我用 kd.exe 执行一些内核调试命令——查看系统信息和 ShadowGate 驱动：
```

自动登录如何做到的？


>**最终的目标是，能够检测缺失的配置，准确无误的配置，能够自动的处理各种情况，自动的调试起来！**


### WinDbg

> WinDbg 引擎	❌ 缺失	宿主机没装 Windows SDK 调试器

分析驱动的时候必须检测 WinDbg 是否安装，如果没有安装必须停下来让我安装。

### 其他进化

**你还需要分析其他我没有发现的需要进化的项，目标是下次此类分析能够自动的、自主的得出答案！**

## solver.obj

我在项目目录下发现了 solver.obj 文件，为什么没放到任务目录？