Everyone knows that Windows9x is just a desktop operating system, its stability and confidentiality have been criticized by everyone. Now, I will explain how the confidentiality of Windows 98 is poor by introducing the algorithm of the password of the Windows 98 screen saver!
First, the screen saver (hereinafter referred to as screenkeeping) password encryption algorithm
Typically, a encryption process is as follows, the encryption process of the screen saver password is the same, but the evaluation is an encryption algorithm.
Encryption key
Encryption Algorithm
Clear text
Cps
A strong plus algorithm, to see how the key is generated, whether the encryption algorithm is powerful. The flattext of Windows9 screensaver password is limited, its length is 128 characters, its character set is alphabet, number, and some punctuation, which is the visible ASCII character set. The length of the Windows98 password ciphertext is twice the length of the plain text, which is stored in the binary value named ScreenSave_Data in the HKEY_CURRENT_USER / Control Panel / Desktop of the registry subkey.
L encryption algorithm
First, Windows98 transforms the password in the clear-text lowercase letters to uppercase letters, other characters unchanged.
Then, Windows 98 performs each ASCII value of the plaintext with the corresponding 8BITS key in order, so that the same length of the same length is obtained, and each of these values is converted to a hexadecimal. Then convert these hexadecimal numerical values into strings, and connect them in order, it becomes a twice aspect of the clear text. The key is always fixed, with 128bytes.
Finally, the algorithm adds this ciphertext string with 00h in the form of a hexadecimal ASCII code value to the end flag in the registry. This algorithm will be described below:
For example: The password for the screen saver is Visual Basic, converted to uppercase is Visual Basic. The corresponding hexadecimal ASCII code value is:
Password
V
I
S
U
A
L
Space
B
A
S
I
C
ASCII value
56
49
53
55
41
4C
20
42
41
53
49
43
Key
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
The difference (hexadecimal value) is a string (value ABCDEF): 1EA72523262581593BDF0EBB. A total of twenty-four characters, the character is represented by a hexadecimal value ASCII code value:
character
1
E
A
Seduce
2
5
4
8
2
6
2
5
16-based number
31
45
41
37
32
35
34
38
32
36
32
35
character
8
1
5
9
3
B
Di
Fly
0
E
B
B
16-based number
38
31
35
39
33
42
44
46
30
45
42
42
And the value of ScreenSave_data in the registry is
"Screensave_data" = HEX: 31, 45, 41, 37, 32, 35, 35, 38, 31, 35, 39, 33, 42,
44, 46, 30, 45, 42, 42, 00
l Get the key
Windows98's screensaver password has a total of 128bytes, how can you know all the keys? In fact, it is very simple, the encryption algorithm knows, I want to know that the key is not difficult. Like I do it in front of the previous analysis screensaver code, set a 128bytes long screen saver password (nest in mind * o *). Then, remove the encrypted ciphertext, a total of 256bytes, representing this 256 ASCII code values as characters, press two pairs to synthesize a hexadecimal value, a total of 128. As long as you use a calculator, you can use the ASCII code value of the plaintext (remember to convert lowercase letters into uppercase letters) or you can get all 128 key. Here is the 128 BYTES key I measuring: Key: 48, EE, 76, 1D, 67, 69, A1, 1, 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.
Second, the program implements the extract screensaver password
I know the screen security code is secret. We can write a program with VB6 to extract the password of the program. Due to the relationship between the space, the program code is inconvenient, and the friends who need it can go to the website http://www.9cbs.net download.
Third, the screen saver
Many vb books will teach you how to write screen saver, nothing more than how Windwos98 calls screensavers, how to respond to keyboard, mouse events, how to set the screensaver boot parameters, how to block the hot start of Alt Ctrl Del, how to make the screen save ALWAYS ON top, etc. But very little book introduces the response of the screensaver password. It is also very easy, as long as you add a password confirmation in the mouse and keyboard response event.
There are several parameters for the screensaver's parameters in the hkey_current_user / control panel / desktop, string "screensavetimeout" = "840" is the wait time of the screen, string "screensaveActive" = "1" Start screen protection The logo of the program, "1" is Yes, "0" is whether the dword value "screensaveuseusesword" = dword: 00000001 is whether the screen saver is protected by password, 000000000 is not. You can confirm whether you use your password to protect your screensaver according to the value of ScreenSaveusePassword.
Fourth, advice
Be careful when you use your password, try not to use the same password. If you use the password of the bank version to set the password of the screen, how easy it is to take your password! This article is just to introduce you to the screensaver's encryption algorithm, I hope everyone will gain!