Windows注册表解密(CryptUnprotectData)WPA密钥

时间:2010-10-12 13:01:37

标签: c linux registry wireless encryption

我正在用C编写Linux程序,从windows注册表配置单元中提取wpa / wep密钥。

最初我希望使用wine的CryptUnprotectData函数,但我现在意识到wine使用了不同的算法,只是模仿了window的版本。我也意识到只有加密数据的用户才能解密它。

我使用aircrack-ng套件中的wzcook作为指导。 http://tools.assembla.com/b6stFY7MOr2QtlaaeP0Qfc/browser/Windows/wzcook/wzcook.c

我从一个蜂巢中提取数据没有问题,但我有点不知道如何解密密钥。

如果密钥在注册表中为一个用户加密,那么另一个用户如何解密该数据?我确定如果它已经存储了,它们不必重新输入psk / passphrase吗?

即使离线(从linux访问配置单元),数据是否仍然是加密的?

除了逆向工程微软的算法之外,还有其他解决方案吗? :d

非常感谢您提供的任何帮助/建议,

感谢。

1 个答案:

答案 0 :(得分:0)

据我所知,DPAPI使用根据用户的实际密码计算的哈希,因此您需要Crypt函数的开源实现和用户的显式密码。

最近有一些关于实施CryptUnprotectData的工作:DPAPIck