L'idée de ce Script vient après avoir lu cet Article:"Create Fake Dummy File on USB Flash Drive to Enable Write Protect and Prevent Modification"
http://www.raymond.cc/blog/archives/2009/02/17/create-fake-dummy-file-on-usb-flash-drive-to-enable-write-protect-and-prevent-modification/
Alors j'ai eu cette idée de créer ce Truc en Vbscript.
Donc j'explique ce que ce script peut faire :
Vous portez votre flash USB qui contient beaucoup d'outils portables avec vous tout le temps mais,vous avez peur d'une chose, qui est un virus informatique comme JambanMu ou MaxTrox ou Sality qui peut infecter des clés USB ainsi que les fichiers exécutables là-dedans.
Le Script crée un faux fichier "bloc" pour remplir l'espace libre restant sur le flash USB en utilisant
L'utilitaire de système de fichiers "fsutil" qui est une suite d'outils en ligne de commande pour afficher et gérer certaines propriétés des lecteurs et des fichiers.
Alors le virus ne pourra pas se copier ou infecter n'importe quels fichiers exécutables.
Source / Exemple :
Ce code est utilisé pour créer un faux fichier sur le flash USB pour Permettre la protection en écriture.
'----------------DummyFileCreator.vbs---------------
'© Hackoo ©
'web site http://hackoo.ifrance.com
checkUSB
DummyFileCreator
'---------------DummyFileCreator----------------------
Sub DummyFileCreator
Dim WshShell,FSO,Drv,Dtype,Dfree,DfreeMB,Dtot,GB
Dim Dname,Dpct,Dused,Dserial,Dinfo
Set WshShell=WScript.CreateObject("WScript.Shell")
Set FSO=CreateObject("Scripting.FileSystemObject")
For each Drv in FSO.Drives
'If Drv.DriveType=0 Then Dtype="Unknown "
'If Drv.DriveType=1 Then Dtype="Removable"
'If Drv.DriveType=2 Then Dtype="Fixed "
'If Drv.DriveType=3 Then Dtype="Network "
'If Drv.DriveType=4 Then Dtype="CD-ROM "
'If Drv.DriveType=5 Then Dtype="RAM Disk "
If Drv.DriveType=1 Then ' Disk Amovible Flash Disk
If Drv.IsReady Then ' Si le Flash Disk est prêt
Dfree=Drv.FreeSpace
DfreeMB=FormatNumber(Drv.FreeSpace/(1024^2),0)&" Mo"
'EspaceLibre = Drv.FreeSpace
GB=round(Dfree/1073741824,2) & " Go"
Label=Drv.DriveLetter
'checkUSB
'wscript.sleep 1000
MsgBox "Espace Libre dans Le Flash Disk "&Label&":\"&" est Environ de " &GB& " soit environ "&DfreeMB,64,"Espace Libre"
WshShell.run "cmd /c fsutil file createnew "&Label&":\IamDummy " &Dfree&"",0,True
WshShell.Run "cmd /C attrib +h +s "&Label&":\IamDummy",0,TRUE
MsgBox "Votre Flash Disk "&Label&":\ est désormais protégé contre les Malwares , les Worms et les Virus !",64,"Protection"
end if
end if
Next
end Sub
'-----------------checkUSB-----------------------
Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
If drive.mediaType <> "" Then
intCount = intCount + 1
End If
Next
If intCount > 0 Then
MsgBox "Votre Flash Disk est bien Connecté !",64,"Flash Drive Check !"
else
WshShell.Run "cmd /c @echo " & beep, 0
wscript.sleep 1000
MsgBox "Votre Flash n'est pas Connecté ",64,"Flash Drive Check !"
End If
End Sub
Et Ce Code est utilisé pour supprimer le faux fichier et permettre l'écriture sur votre Flash
'----------------NoDummyFile.vbs---------------
'© Hackoo ©
'web site http://hackoo.ifrance.com
checkUSB
NoDummyFile
'----------------------------------------------------
sub NoDummyFile
Dim WshShell,FSO,Drv,Dtype,Dfree,DfreeMB,Dtot,GB
Dim Dname,Dpct,Dused,Dserial,Dinfo,filespec
Set WshShell=WScript.CreateObject("WScript.Shell")
Set FSO=CreateObject("Scripting.FileSystemObject")
filespec="IamDummy"
For each Drv in FSO.Drives
'If Drv.DriveType=0 Then Dtype="Unknown "
'If Drv.DriveType=1 Then Dtype="Removable"
'If Drv.DriveType=2 Then Dtype="Fixed "
'If Drv.DriveType=3 Then Dtype="Network "
'If Drv.DriveType=4 Then Dtype="CD-ROM "
'If Drv.DriveType=5 Then Dtype="RAM Disk "
If Drv.IsReady Then
If Drv.DriveType=1 Then
Dfree=Drv.FreeSpace
DfreeMB=FormatNumber(Drv.FreeSpace/(1024^2),0)&" MB"
GB=round(Dfree/1073741824,2) & " Go"
Label=Drv.DriveLetter
If (fso.FileExists(Label&":\IamDummy")) Then
Set MyFile = fso.GetFile(Label&":\IamDummy")
MyFile.Delete
End If
MsgBox "Espace Libre dans Le Flash Disk "&Label&":\"&" est Environ de " &GB& " soit environ "&DfreeMB,64,"Espace Libre"
MsgBox "Attention ! Votre Flash Disk "&Label&":\ n'est pas Protégé contre les Malwares , les Worms et les Virus !",64,"Protection"
end if
end if
Next
end Sub
'-----------------checkUSB-----------------------
Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
If drive.mediaType <> "" Then
intCount = intCount + 1
End If
Next
If intCount > 0 Then
MsgBox "Votre Flash Disk est bien Connecté !",64,"Flash Drive Check !"
else
WshShell.Run "cmd /c @echo " & beep, 0
wscript.sleep 1000
MsgBox "Votre Flash n'est pas Connecté ",64,"Flash Drive Check !"
End If
End Sub
Conclusion :
Fsutil est un outil avancé qui s'adresse tout d'abord aux administrateurs mais des utilisateurs expérimentés trouveront également qu'il possède un certain nombre d'applications possibles.
Cet outil est présent dans Windows XP et Vista et est essentiellement utilisé sur les systèmes NTFS. Pour l'utiliser, vous devez posséder les privilèges administratifs.
Pour plus d'information sur "Fsutil" rendez-vous a cette page
http://windows.developpez.com/cours/ligne-commande/?page=page_14#LXIV
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.