[vbs] protection de vos données personnelles par les fichiers systèmes desktop.ini

Description

C'est un Ancien script que j'ai réalisé il y a longtemps dans le but de protéger mes fichiers et mes dossiers personnelles.
L'astuce est très simple c'est comment utiliser les fichiers systèmes desktop.ini qui ont des différentes CLSID.
par exemple:
CLSID={2559a1f2-21d7-11d4-bdaf-00c04f60b9f0} Set Program Access and Defaults
UICLSID={7BD29E00-76C1-11CF-9DD0-00A0C9034933}
Comptes utilisateurs:{7A9D77BD-5403-11d2-8785-2E0420524153}
Corbeille :{645FF040-5081-101B-9F08-00AA002F954E}
Rechercher :{2559a1f0-21d7-11d4-bdaf-00c04f60b9f0}
Internet :{2559a1f4-21d7-11d4-bdaf-00c04f60b9f0}
Connexion Réseaux:{7007ACC7-3202-11D1-AAD2-00805FC1270E}
Aide et Support :{2559a1f1-21d7-11d4-bdaf-00c04f60b9f0}
Courrier éléctronique:{2559a1f5-21d7-11d4-bdaf-00c04f60b9f0}
Password Class:{834C5A62-E0BB-4FB4-87B9-F37C869C976B}
CLSID={FF393560-C2A7-11CF-BFF4-444553540000}
Dans mon cas j'ai utilisé la corbeille par exemple pour cacher mes fichiers et mes dossiers.
Cette derniere a un CLSID={645FF040-5081-101B-9F08-00AA002F954E}
donc aprés avoir créer le dossier à protéger il suffit d'ajouter un fichier système desktop.ini qui a cette structure:
"[.ShellClassInfo]"
"CLSID={645FF040-5081-101B-9F08-00AA002F954E}"
et j'ai ajouter une autre astuce pour qu'il soit impossible de supprimer le dossier protégé avec l'explorateur windows.
NB : Dans le Zip il y a 2 fichiers le 1er pour la protection nommé "Protection.vbs"
et le 2ème pour la dé-protection en ce servant soi-disons avec un mot de passe nommé "deprotection.vbs"
j'ai ajouté dans le Zip Deux autres Scripts :deprotection_USB.vbs et NumSerie_Usb.vbs
Le Script NumSerie_Usb.vbs pour vous aider a retrouver le Num° de série de votre clé usb qui va servir a l'authentification et la vérification du N° au lieu du mot de passe, et a remplacer dans le script deprotection_USB.vbs

Source / Exemple :


'A Vbscript that create and protect a Folder in Windows XP
'Made by Hackoo ©
'web site http://hackoo.ifrance.com
'----------------------Protection.vbs-----------------------
'Option Explicit
Dim objFSO, objFolder, objShell, objTextFile, objFile,com,com1,com2,WS
Dim strDirectory, strFile, strText,Getdesktop
Set objFSO = CreateObject("Scripting.FileSystemObject")
Folder=objFSO.GetSpecialFolder(2)  'Dossier Temp
strDirectory = Folder&"\Protection"
strFile = "\desktop.ini"
strText = "[.ShellClassInfo]" & vbCrLf & "CLSID={645FF040-5081-101B-9F08-00AA002F954E}" 'clé systeme indiquant le dossier protègé  Corbeille
'CLSID={2559a1f2-21d7-11d4-bdaf-00c04f60b9f0} Set Program Access and Defaults
'UICLSID={7BD29E00-76C1-11CF-9DD0-00A0C9034933}
'Comptes utilisateurs:{7A9D77BD-5403-11d2-8785-2E0420524153}
'Corbeille :{645FF040-5081-101B-9F08-00AA002F954E}
'Rechercher :{2559a1f0-21d7-11d4-bdaf-00c04f60b9f0}
'Internet :{2559a1f4-21d7-11d4-bdaf-00c04f60b9f0}
'Connexion Réseaux:{7007ACC7-3202-11D1-AAD2-00805FC1270E}
'Aide et Support :{2559a1f1-21d7-11d4-bdaf-00c04f60b9f0}
'Courrier éléctronique:{2559a1f5-21d7-11d4-bdaf-00c04f60b9f0}
'Password Class:{834C5A62-E0BB-4FB4-87B9-F37C869C976B}
'CLSID={FF393560-C2A7-11CF-BFF4-444553540000}

' vérifie si le dossier existe sinon il le cree
If objFSO.FolderExists(strDirectory) Then
   Set objFolder = objFSO.GetFolder(strDirectory)
Else
   Set objFolder = objFSO.CreateFolder(strDirectory)
   MsgBox "Le Dossier " & strDirectory & " est désormais crée !",64,"Protection du Dossier"
End If

If objFSO.FileExists(strDirectory & strFile) Then
   Set objFolder = objFSO.GetFolder(strDirectory)
Else
   Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
   MsgBox "Le Fichier " & strDirectory & strFile & " est Crée et votre dossier est désormais protégé !",64,"Protection du Dossier"
End If

set objFile = nothing
set objFolder = nothing
' OpenTextFile Method needs a Const value
' ForAppending = 8 ForReading = 1, ForWriting = 2
Const ForAppending = 8

Set objTextFile = objFSO.OpenTextFile _
(strDirectory & strFile, 2, True)

' Ecrit strText chaque fois que vous executer ce VBScript
objTextFile.WriteLine(strText)
objTextFile.Close

'  Ouverture du Dossier par l'explorateur windows
If err.number = vbEmpty then
   Set objShell = CreateObject("WScript.Shell")
   objShell.run ("Explorer" &" " & strDirectory & "\" )
Else
WScript.echo "VBScript Error: " & err.number
End If

Call CMD

Function CMD()
Set WS = CreateObject("WScript.Shell")
com="cmd /c mkdir "&strDirectory&""
com1="cmd /c type nul > \\?\"&strDirectory&"\lpt3.Dossier_protégé"
com2="cmd /c attrib +h +r +s +a "&strDirectory&""
Result = Ws.Run(Com,0,True)
Result1 = Ws.Run(Com1,0,True)
Result2 = Ws.Run(Com2,0,True)
End Function
'-----------------End of Protection.vbs----------------

'------------------deprotection.vbs--------------------
'A Vbscript to unprotect the Protected Folder in Windows XP
'Made by Hackoo ©
'web site http://hackoo.ifrance.com

sub explorer
Dim objFSO, objFolder, objShell, objTextFile, objFile,com,com1,com2,WS
Dim strDirectory, strFile, strText,desktop,Folder,tmp
'strFile = "\desktop.ini"
Set objFSO = CreateObject("Scripting.FileSystemObject")
set Folder=objFSO.GetSpecialFolder(2)  'Dossier Temp
strDirectory=Folder&"\Protection"
If err.number = vbEmpty then
   Set objShell = CreateObject("WScript.Shell")
   objShell.run ("Explorer" &" " & strDirectory & "\" )
Else
WScript.echo "VBScript Error: " & err.number
End If
End Sub

Sub Folder(path)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(path)
End Sub

Sub DeleteAFile(filespec)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.DeleteFile(filespec)
End Sub

a = InputBox("Veuillez entrer le mot de passe", "Mot de passe","*****************") 'Demande du mot de passe
If a = " * * * *" Then 'Si le mot de passe est juste fermeture du programme
Msgbox "Mot de passe correct Ouverture de votre dossier..... !",64,"Mot de passe correct!!"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
tmp=objShell.ExpandEnvironmentStrings("%temp%")
desktop=tmp & "\Protection\desktop.ini"
If objFSO.FileExists(desktop) Then
    objFSO.DeleteFile desktop, True
end if
explorer
Else
Msgbox "Mot de passe incorrect!!",16,"Mot de passe incorrect!!"
end if

'------------------deprotection_USB.vbs--------------------
'A Vbscript to unprotect the Protected Folder in Windows XP
'Made by Hackoo ©
'web site http://hackoo.ifrance.com
'Main Program
 MsgBox "Veuillez SVP Insèrer votre clé Usb Privé pour la vérification !",64,"Vérification Clé Usb"
 Verif_Usb()
 '--------------------------------------------------------
 sub explorer
 Dim objFSO, objFolder, objShell, objTextFile, objFile,com,com1,com2,WS
 Dim strDirectory, strFile, strText,desktop,Folder,tmp
 'strFile = "\desktop.ini"
 Set objFSO = CreateObject("Scripting.FileSystemObject")
 set Folder=objFSO.GetSpecialFolder(2) 'Dossier Temp
 strDirectory=Folder&"\Protection"
 If err.number = vbEmpty then
 Set objShell = CreateObject("WScript.Shell")
 objShell.run ("Explorer" &" " & strDirectory & "\" )
 Else
 WScript.echo "VBScript Error: " & err.number
 End If
 End Sub

 Sub Folder(path)
 Dim fso, f
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set f = fso.GetFolder(path)
 End Sub

 Sub DeleteAFile(filespec)
 Dim fso
 Set fso = CreateObject("Scripting.FileSystemObject")
 fso.DeleteFile(filespec)
 End Sub

 
 Sub Ouvre_toi_sesame()
 'a = InputBox("Veuillez entrer Votre mot de passe pour ouvrir votre Dossier Protégé !", "Mot de passe","*****************") 'Demande du mot de passe
 'If a = " * * * *" Then 'Si le mot de passe est juste fermeture du programme
 'Msgbox "Mot de passe correct Ouverture de votre dossier..... !",64,"Mot de passe correct!!"
 Set objFSO = CreateObject("Scripting.FileSystemObject")
 Set objShell = CreateObject("WScript.Shell")
 tmp=objShell.ExpandEnvironmentStrings("%temp%")
 desktop=tmp & "\Protection\desktop.ini"
 If objFSO.FileExists(desktop) Then
 objFSO.DeleteFile desktop, True
 end if
 explorer
 'Else
 'Msgbox "Mot de passe incorrect!!",16,"Mot de passe incorrect!!"
 'end if
 end sub
 
Sub Verif_Usb()
Dim SerialNumber,NumSerie
SerialNumber = 1021505376 'C'est ici !! que vous devez placer le n°serie
'de votre clé USB (pour moi 1021505376) et c'est a vous de le remplaçer par le votre
'en utlisant le script NumSerie_Usb.vbs
' Retrouver la clé Usb et son numéro de serie
  Set fso = CreateObject("Scripting.FileSystemObject")
For Each Drive In fso.Drives
If Drive.IsReady  Then
    If Drive.DriveType=1 Then
	NumSerie=fso.Drives(Drive + "\").SerialNumber
        if SerialNumber=NumSerie then 'Si Le N° de série est bien de votre clé usb alors on passe a la vérification
		                              'du mot de passe sinon en quitte le programme
	MsgBox "La Clé Usb inséré a été Reconnue ! Le Dossier Protégé Va s'ouvrir !",64,"Vérification Clé Usb"
	Ouvre_toi_sesame() 
	    else
	MsgBox  "La Clé Usb inséré n'a pas été Reconnue !",16,"Vérification Clé Usb"
	    end if
    End If
End If
Next
End Sub

'-------------------NumSerie_Usb.vbs---------------------
Sub NumSerie_Usb()
Dim NumSerie
' Retrouver la clé Usb et son numéro de serie
Set fso = CreateObject("Scripting.FileSystemObject")
For Each Drive In fso.Drives
If Drive.IsReady  Then
    If Drive.DriveType=1 Then
	NumSerie=fso.Drives(Drive + "\").SerialNumber
        
	MsgBox "La Clé Usb inséré a comme Num° de Série "&NumSerie,64,"Vérification Clé Usb"
	    end if
    End If
Next
End Sub
NumSerie_Usb()
'-------------------------------------------------

Conclusion :


NB: Ces scripts marche bien sur Windows XP SP3 donc c'est a vous a essayer sur Windows Vista et 7 et donnez-nous vos feedback !
Merci!

Codes Sources

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.