[Bug反馈] PE环境下 AutoWIFI 解密逻辑依赖WirelessKeyView且无法兼容Win11 keyMaterial
1. 问题背景(中立陈述)
首先感谢您开发了如此实用的工具!我在使用 DrvIndex + AutoWIFI 组合进行测试,发现其解密逻辑存在以下问题,希望能协助您优化。
2. 复现步骤(聚焦事实)
为方便定位问题,已严格按以下条件测试:
环境:PE系统:KuerPE 2025.03 内核,以及我自己做的PE,已确认无其他驱动冲突 操作流程:
场景A(自动连网失败):
删除 DrvIndex,手动安装无线驱动 → 运行 AutoWIFI → 无法获取密码
但直接运行 DrvIndex -h → 可自动连网(因其内置了WirelessKeyView)
场景B(解密逻辑局限):
手动断开无线 → 运行 AutoWIFI → 成功读取 X:\...\<keyMaterial>(由WirelessKeyView生成)
将原Win11的 <keyMaterial> 替换至X盘相同路径 → AutoWIFI 无法解析
3. 关键发现(数据支撑,避免主观猜测)
依赖性问题: AutoWIFI 仅在 WirelessKeyView 预先运行并生成XML文件时生效,无法直接解析系统原生密钥。
加密兼容性: 通过对比 WirelessKeyView 转换前后的密钥,发现Win11的 <keyMaterial> 使用了 AES-256-GCM,而转换后的XML降级为 AES-128-CBC,推测解密逻辑未适配新版加密协议。
首先,Windows 11将无线密钥存储在C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces[Interface Guid]下的XML文件里,
在<keyMaterial>标签中,这些密钥是加密的。要做的是解密这些内容。([Interface Guid] 是一个唯一的 GUID 值,代表无线网卡。)
例如
WIN11下的XML文件
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>CMCC-L</name>
<SSIDConfig>
<SSID>
<hex>434D43432D4C</hex>
<name>CMCC-L</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<MSM>
<security>
<authEncryption>
<authentication>WPA2PSK</authentication>
<encryption>AES</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>true</protected>
<keyMaterial>01000000D08C9DDF0115D1118C7A00C04FC297EB01000000E0BB97C221196948AD597754E9E50CD700000000020000000000106600000001000020000000497413D4DD8857401F55CD8A58B6B1896B92DC554BDB5CC4EDD4140F2DF296C5000000000E8000000002000020000000E416C24417448F4D40FE2F1A7578A7A55E87E9DE048E53058077C009B321786B10000000272CBA2D0B395105F58EB1793186FE53400000005D9D8C5B887C40EE7D576DE42BDB8328C7C9FA4600EDE6FC803CE328A9F7169E97E18B2FB7E2BDAE901BA5AA3CD52F300C53425FFBA766874BDD481474FB1396</keyMaterial>
</sharedKey>
</security>
</MSM>
<MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3">
<enableRandomization>false</enableRandomization>
<randomizationSeed>634562794</randomizationSeed>
</MacRandomization>
</WLANProfile>
WINPE下的XML文件(由WirelessKeyView生成)
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>CMCC-L</name>
<SSIDConfig>
<SSID>
<hex>434D43432D4C</hex>
<name>CMCC-L</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<MSM>
<security>
<authEncryption>
<authentication>WPA2PSK</authentication>
<encryption>AES</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>true</protected>
<keyMaterial>01000000D08C9DDF0115D1118C7A00C04FC297EB010000002D5E90763B588D44BFE703C29E4DC9070000000002000000000010660000000100002000000067D9165EB1C0DEA9CF478BD80C536B2AE13D6C929916026BDB0457DA4CC88B47000000000E8000000002000020000000DA796025199DF31DBCC1F8C92910508DF7446A65506DAE6C35172C0574C4226A10000000265FA7E9B9D2093C91A2AB9D5918933140000000E97773B3298EDEBD67932990D3A8797D0515FD95AE770D16023A3FA5361AB6CACC872A5D430956780605477FFD753528AAD3EEF872E7ECE640DEF6FF8BADC901</keyMaterial>
</sharedKey>
</security>
</MSM>
</WLANProfile>
师从Jet Chan、mdyblog、WHY、Batcher,深耕技术追求实用与效率。以解决问题为本,专注实践,持续精进。