(vbs)information sur l'écran de veille : pass, activé...

Contenu du snippet

Voici un petit code permettant de donner le mot de passe de l'écran de veille sous Win98 et qui informe aussi de l'activation ou non d'un mot de passe et de l'écran de veille.... Utile pour ceux qui veulent apprendre à regarder dans le registre en VBS...

PS : Ne marche pas si vous avez patché votre OS...
PS : Pas testé sur un XP non patché (Prévénez moi si ça marche !)

Source / Exemple :


on error resume next
dIM Key(40), Passwd, i,j,k, WSHShell, dESK
dIM uSEpASSWD, deci, temp1, temp2, cur, lenpsswd

up = "HKCU\Control Panel\Desktop\ScreenSaveUsePassword"
p = "HKCU\Control Panel\Desktop\ScreenSave_Data"
a = "HKCU\Control Panel\Desktop\ScreenSaveActive"
Set WSHShell = WScript.CreateObject("Wscript.Shell")
uSEpASSWD = WSHShell.RegRead(up)
cRYPTEDpASS = WSHShell.rEGrEAD(p)
acts = WSHShell.RegRead(a)

call fillkey

if(uSEpASSWD = 0) then
Passwd = "Your screen saver password is inactive..."&chr(13)
	if( cRYPTEDpASS <> 0) then
	Passwd = Passwd&"But your last password was : "
	else
	Passwd = Passwd&"You don't have any old password."
	end if
else
Passwd = "Your screen saver password is : "
end if

if(acts = "0") then
Passwd = "Your screen saver is inactive..."&chr(13)&Passwd
end if

lenpsswd = len(Passwd)

for k=lbound(cRYPTEDpASS) to ( ubound(cRYPTEDpASS) - 1) step 2

temp1 = chr(cRYPTEDpASS(k))
temp2 = chr(cRYPTEDpASS(k +1))
cur = temp1 & temp2
hex2int(cur)

Passwd = Passwd & chr( deci XOR key(k/2) )
'msgbox "Traitement : Key( "&K/2&")"&chr(13)&deci&" XOR "&Key(k/2)&" = "&( deci XOR key(k/2) ) ' Ligne de déboggage

next
lenpsswd = len(Passwd) - lenpsswd
Passwd = Passwd&chr(13)&"Password length : "&lenpsswd

WShShell.PopUp Passwd,,"Hehe !",vbOkonly
WScript.quit

' Fonction de conversion de texte représentant de l'hexa en entier
' Y'as pitète une fonction toute prête mais bon c'est pas dur :)
sub hex2int(hexa)
UCASE(hexa)
deci = 0
for i=asc("0") to asc("F")

if ( (i > asc("9")) AND (i< asc("A")) ) then
i = asc("A")
end if

for j=asc("0") to asc("F")

if ( (j > asc("9")) AND (j< asc("A")) ) then
j = asc("A")
end if

if (strcomp(chr(i)&chr(j), hexa) = 0) then
exit sub
end if

deci = deci +1
next
next
end sub

sub fillKey
Key(0) = 72
Key(1) = 238
Key(2) = 118
Key(3) = 29
Key(4) = 103
Key(5) = 105
Key(6) = 161
Key(7) = 27
Key(8) = 122
Key(9) = 140
Key(10) = 71
Key(11) = 248
Key(12) = 84
Key(13) = 149
Key(14) = 151
Key(15) = 95
Key(16) = 120
Key(17) = 217
Key(18) = 218
Key(19) = 108
Key(20) = 89
Key(21) = 215
Key(22) = 107
Key(23) = 53
Key(24) = 197
Key(25) = 119
Key(26) = 133
Key(27) = 24
Key(28) = 42
Key(29) = 14
Key(30) = 82
Key(31) = 255
Key(32) = 0
Key(33) = 227
Key(34) = 27
Key(35) = 113
Key(36) = 141
Key(37) = 52
Key(38) = 99
Key(39) = 235
end sub

'CoDeD bY G0ss3Yn

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.