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

Soyez le premier à donner votre avis sur cette source.

Vue 6 277 fois - Téléchargée 664 fois

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

Ajouter un commentaire

Commentaires

Messages postés
92
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2013

Salut à Tous !
@genescher : Franchement j'ai pas encore tester ce code sur Windows 7, mais je crois il
fonctionnera si on déactive le UAC qui signifie User Access Control. Il s'agit d'une nouvelle couche de sécurité dont le rôle est de prévenir les utilisations non désirées de privilèges élevés, en Français Contrôle de compte utilisateur.
on peut ajouter une petite fonction si on est sous windows 7 pour déactiver le UAC:
'-----------------------------------
Function DeactiverUAC
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", 0, "REG_DWORD"
end Function
'------------------------------------
sinon on peut le déactiver manuellement:
Panneau de configuration -> Comptes utilisateurs -> Modifier les paramètres de contrôle de compte utilisateur
Descendez le curseur au niveau le plus bas : ne jamais m'avertir.
pour plus d'information visitez cette page de FAQ : http://www.toutwindows.com/win7_uac.shtml#6
Messages postés
4
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
17 août 2010

Bonjour hackoo et vous tous,
Nous allons bientôt passer sous seven .... ma protection fonctionnera-t-elle toujours ??
merci de ton aide
Genescher
Messages postés
4
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
17 août 2010

Hackoo, merci
En fait j'avais réussi à comprendre entre temps mais je voulais faire un test avec l'administrateur réseau pour pouvoir te donner la note maxi.
Donc c'est super, j'ai changé le clsid protégé, j'ai mis mon répertoire dedans puis j'ai relancé la protection....
Dossier n'a pas été détecté, et il n'y a que moi qui peux le voir lorsque je lance le fichier "déprotection" qui est sur ma clé privée ....
merci beaucoup ++++++++
Genescher
Messages postés
92
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2013

Salut Genescher,
Normalement le dossier qui se nomme Protection est choisi d'avance par ce script et il se trouve dans ce chemin C:\Documents and Settings\Administrateur\Local Settings\Temp\Protection
mais ce dossier quand il est il devient un fichier système camouflé en dossier de corbeille (qui a l'icône de corbeille) donc il ne faut pas mettre tes fichiers personnelles dans la corbeille.
mais quand tu exécute le fichier deprotection.vbs en rentrant bien sûr ton mot de passe le dossier Protection devient normal et tu peux copier la-dedans tes fichiers et tes dossiers personnelles puis pour le protéger double clic sur Protection.vbs et le dossier deviendra comme une corbeille et le tour est joué :)
Si tu as encore des questions je suis là pour toi, surtout n'hésite pas car la connaissance s'accroît quand on la partage !
Bon Courage et j'attends ton succès !
Hackoo
Messages postés
4
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
17 août 2010

Merci HACKOO,
Par contre je n'ai pas trouvé comment appliquer la protection à mon répertoire. Lorsque je double clic sur protection il m'ouvre ma corbeille (je vais d'ailleurs choisir un autre endroit) .... dois-je mettre mon répertoire dans la corbeille ???
désolée d'être aussi nulle.
Merci de ton aide
Genescher
Afficher les 8 commentaires

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.