各人都知道,windows9x只是一个桌面操纵系统,它的不变性和保密性一直受各人的品评。此刻,我就通过先容提取windows98的屏幕掩护措施的暗码的算法来说明windows98的保密性是奈何的差!
一、屏幕掩护措施(以下简称屏保)暗码的加密算法
凡是,评价一个加密算法,就要看密钥怎么发生,加密算法是否强大。windows98的屏保暗码的明文是有限制的,它的长度最大为128个字符,它的字符集是字母表,数字,和一些标点标记,也就是可视的ascii字符集。windows98暗码密文的长度是明文长度的两倍,它生存在注册表子键的hkey_current_user\control panel\desktop的一个名为screensave_data的二进制值里。
加密算法:
首先,windows98把暗码明文中小写字母全转换为大写字母,其他字符稳定。然后,windows98按顺序把明文的每一个ascii值与对应的一个8bits的密钥举办异或(xor),这样会获得与明文同样长度的数值串,把这些每一个数值转换为十六进制,再把这些十六进制的数值转换为字符串,按顺序毗连起来,就成为一个两倍长度于明文的密文。密钥老是牢靠的,共有128bytes。 最后,算法把这个密文字符串以十六进制ascii码值的形式加上00h为竣事符号生存在注册内外。
下面通过例子说明这个算法:
譬喻:屏幕掩护措施的暗码是visual basic,转换成大写是visual basic。相应的十六进制ascii码值是: 暗码明文 v i s u a l space b a s i c ascii值 56 49 53 55 41 4c 20 42 41 53 49 43 密钥 48 ee 76 1d 67 69 a1 1b 7a 8c 47 f8 xor 1e a7 25 48 26 25 81 59 3b df 0e bb 把异或后的功效(十六进制值)看成字符串(数值abcdef以大写暗示):1ea72523262581593bdf0ebb。共二十四个字符,把字符再以十六进制值ascii码值暗示为: 字符 1 e a 7 2 5 4 8 2 6 2 5 16进制数 31 45 41 37 32 35 34 38 32 36 32 35 字符 8 1 5 9 3 b d f 0 e b b 16进制数 38 31 35 39 33 42 44 46 30 45 42 42 而注册内外screensave_data的值为 "screensave_data"=hex:31,45,41,37,32,35,34,38,32,36,32,35,38,31,35,39,33,42, 44,46,30,45,42,42,00 l 获取密钥 windows98的屏保暗码的密钥共有128bytes,奈何才气知道全部的密钥呢?其实很简朴,加密算法已知道,想知道密钥并不坚苦。像我在前面阐明屏保暗码那样做,设一个128bytes长的屏保暗码(千万要记着哦*o*)。然后,取出加密后的密文,共256bytes,把这256个ascii码数值暗示为字符,按两个一对再合成一个十六进制的数值,共128个。你此刻只要用计较器,逐个把明文的ascii码值(记得把小写字母转换成大写字母)与适才所得的128个数值举办异或,你就可以获得全部128个密钥了。下面是我测出来的128 bytes 密钥: 密钥:48,ee,76,1d,67,69,a1,1b, 7a,8c,47,f8,54,95,97,5f, 78,d9,da,6c,59,d7,6b,35, c5,77,85,18,2a,0e,52,ff, 00,e3,1b,71,8d,34,63,eb, 91,c3,24,0f,b7,c2,f8,e3, b6,54,4c,35,54,e7,c9,49, 28,a3,85,11,0b,2c,68,fb, ee,7d,f6,6c,e3,9c,2d,e4, 72,c3,bb,85,1a,12,3c,32, e3,6b,4f,4d,f4,a9,24,c8, fa,78,ad,23,a1,e4,6d,9a, 04,ce,2b,c5,b6,c5,ef,93, 5c,a8,85,2b,41,37,72,fa, 57,45,41,a1,20,4f,80,b3, d5,23,02,64,3f,6c,f1,0f.
二、 措施实现提取屏保暗码
知道了屏保暗码得奥秘,我们可以用vb6写一个措施来提取措施的暗码。由于篇幅的干系,措施代码未便列出.
三、 屏幕掩护措施
许多讲vb的书城市教各人奈何写屏幕掩护措施,无非是windwos98奈何挪用屏保,奈何响应键盘、鼠标的事件,奈何配置屏保启动参数,奈何屏蔽alt+ctrl+del的热启动,奈何令屏保always on top等。但很少书先容屏保暗码的响应。其实也很容易,只要你在鼠标和键盘的响应事件里加上暗码简直认就可以了。 在注册表子键的hkey_current_user\control panel\desktop里尚有几个有关屏保的参数,字符串 "screensavetimeout"="840" 是屏保的期待时间,字符串”screensaveactive"="1" 是否启动屏幕掩护措施的符号,“1”为是,“0”为否dword值"screensaveusepassword"=dword:00000001 是屏幕掩护措施是否用暗码掩护,00000001为是,00000000为否。你可以按照screensaveusepassword的值来确认是否利用暗码掩护你的屏保。
四、忠告
各人利用暗码时必然要小心,只管不要利用沟通的暗码。假如你用银行存折的暗码来配置屏保的暗码,那别人来取你的暗码是何等容易的工作!这篇文章只是给各人先容屏保的加密算法,但愿各人有所收获!