破解Windows9X屏幕保护程序的口令.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
破解Windows9X屏幕保护程序的口令.docx

破解Windows 9X屏幕保护程序的口令 作者:刘起凌 笔者在破解Windows 9X屏幕保护程序口令的过程屮,用的是一个超强的软件调试工具:Numoga 公司的Soft-ICE 3.01 for Windows 95,鉴于Soft-TCE使用上的复杂性以及整个破解工作的枯燥 和繁琐,笔者略去了对跟踪破解过程的叙述。 对于Windows 9X屏幕保护程序的口令,有三点是需要首先明白的: (1) 口令的有效字符为从0x20到Oxff的可打印字符共计224个; (2) 允许的口令最大长度为128个字节; (3) 对于26个英文字母,大小写等效。 值得注意的是对于Windows 9X中文版来说,由于在屏幕保护程序启动后屏蔽了中文输入法的 激活热键,所以,尽管你可以将Windows 9X屏幕保护程序的口令设置为汉字,但通常很少有人这 样做。因为那样的话你将只能通过事先将口令复制到剪贴版(选屮字串再按Ctrl+C或Ctrl+X),然 后再从剪贴版粘贴(Ctrl+V)的办法才能实现汉字口令的输入。这显然是比较麻烦的。 对于上述的第二点,我们可以通过先复制一段长于128个字节的字串到剪贴版,再在口令输入 栏将字串粘贴的办法来验证。你会发现‘Windows 9X将我们字串中长于128字符后的部分截掉并 忽略了。 现在,我们首先要确定的一个问题就是:Windows 9X将我们输入的口令存放在什么地方? 我们知道,Windows 9X的用户口令保存在一个由用户名+ .PWL的文件中;在Windows 3. 1和 Windows NT 4. 0中,屏幕保护程序的口令是存放在文件control, ini I1的。而事实上Windows 9X 对屏幕保护程序口令的保存并不在上述文件中。Windows 9X将我们输入的屏幕保护程序口令经过加 密变换后保存到了它的系统注册表屮!具体的存放路径如下: \HKEY CURRENT USER\Control Panel\desktop\ScreenSave Data 我们可以运行Regedit来查看,会发现ScrecnSave_Data注册项有如下特征: )以0x00空结束符收尾 )长度为我们所输入的口令长度的两倍加一(0x00空结束符) 3)除了 0x00空结束符外,所有数值都在字符’0至『9和’人’到丫’间 变化(即 0x30^0x39, 0x4广0x46) )最大长度为257 (含0x00空结束符) 上述第一点,如果以一个C程序员的观点来看,说明ScreenSave Data注册项保存的实际上 是一个字符串。而第二点和第三点,正是我们需要处理的部分。事实上,将这些字符两两一组合并 再转换成相应的ASCII数值就得到了经过Windows 9X加密(如果我们认为这也算加密的话)的数 据。具体的转换规则是: 0x30 )—— 0x00 0x31 ) —— 0x01 , , , 符符符- 字字字- 9 A B 字符 例如: F ASC0x39 ) 0x09 ASC 0x41 ) 0x0a ISCIA0x46 ) I SCI A 0x46 ) 0x0f 加密字符串:09FCD68C23 对应ASCII值:0x30 0x39 0x46 0x43 0x44 0x36 0x38 0x43 0x32 0x33 0x00 转换得的值:0x09 Oxfc 0xd6 0x8c 0x23 经过以上论述,再看第四点,也可以证明Windows 9X所承认的屏幕保护程序的口令的最大长 度是128个字符。 具体编程而言,我们可以用以下MFC代码调Win32 SDK中的API函数从系统注册表屮读出 ScreenSave Data注册项的值: HKEY hkey; char strValue[256+1]; DWORD dwType, dwSi ze=si zoof(strValue); //打开注册表的指定键(注册项) if(RegOpenKeyEx(HKEY_CURRENT_USER, Control Panel\\desktop, 0, KEY_ALL_ACCESS, hkey)!二ERROR_SUCCESS) { MessageBox (,z无法打开系统注册表!〃,〃错误〃); return; } //取注册项(键)的值 if (RegQueryValueEx (hkey, ScreenSave_ Data, KULL, fedwType, (LPBYTE)strValue, fedwSize)!=ERROR_SUCCESS){ MessageBox (无法取得系统注册表中的键值!〃,〃错误〃); return; } //关闭打开的指定键(注册项) RegCloseKey(hkey); 而将Windows 9X用字符串形式所保

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档