Page 1 sur 2
[R] Mot de passe sur un dossier
Posté : jeu. 25 nov. 2010 11:45
par saiham
Bonjour,
Je voudrai savoir si ses possible de mettre un mot de passe sur un dossier et si ses possible comment faire??
je m'explique je veut que quand on ouvre le dossier une fenêtre apparait et demande un mot de passe
j'ai essais de le faire mais sa ne fonctionne pas
Merci d'avance
Re: [..]Mot de passe sur un dossier
Posté : jeu. 25 nov. 2010 12:00
par Yogui
Bonjour,
Je n'ai pas vraiment chercher de code mais une idée toutes simple en jouant sur les droits NTFS ne mettre les droits total que pour l'utilisateur devant accéder au répertoire.
Et faire un petit lanceur ?
je regarde le code ce midi.
Re: [..]Mot de passe sur un dossier
Posté : jeu. 25 nov. 2010 14:31
par zeshrek
Solution 1 :
- tu crées un compte local spécifique
- sur ton dossier tu fais clic droit -> propriétés -> onglet sécurité
- tu fais ajouter, le compte que tu as créé juste avant, controle total
- ensuite tu supprimes tous les autres users
Solution 2 :
Faire un ZIP ou un RAR avec mot de passe
Ca n'a pas grand chose a voir avec de l'autoit...
Re: [..]Mot de passe sur un dossier
Posté : jeu. 25 nov. 2010 17:37
par saiham
Et bien je préfère avoir le code

si ses possible comme sa je pourrais le répéter sur d'autre dossier
et peut-on faire cette action avec n'importe quel application??

Re: [..]Mot de passe sur un dossier
Posté : jeu. 25 nov. 2010 18:50
par legend
Bonjour,
il est possible de faire comme ceci :
utiliser winexists, qui permettra de détecter la fenêtre quand elle s'ouvre.
il est recommandé d'utiliser le chemin qui figure comme texte dans la fenêtre.
quelqun double clic sur le dossier, la fenêtre sera détectée.
tu fais l'action qui bloquera l'accés a la fenêtre.
un exemple :
Code : Tout sélectionner
$mot_passe = "passe"
adlibregister ("bloquer", 100)
$gui = GUICreate ("test")
$motdepasse = GUICtrlCreateInput ("", 10, 10, 50, 20)
guisetstate ()
while 1
$1 = GUICtrlRead ($motdepasse)
if $1 = $mot_passe then ExitLoop
WEnd
guidelete ($gui)
adlibunregister ("bloquer")
func bloquer()
winactivate ("test")
endfunc
bon la, c'est pas vraiment un moyen génial pour bloquer le winactive, mais c'est deja une idée.
bonne journée.
Re: [..] Mot de passe sur un dossier
Posté : ven. 26 nov. 2010 13:07
par saiham
ok merci pour le code

je le test de suite
Re: [..] Mot de passe sur un dossier
Posté : ven. 26 nov. 2010 19:38
par saiham
Et bien voila j'ai essayer quelque chose je vous donne le code:
Code : Tout sélectionner
If ShellExecute("C:\Users\Mathias\Desktop\AutoIt") Then
$mot_de_passe = InputBox("Mot de passe","Quel est le mot de passe?","","*",120,120,-1,-1,60)
If @error Or $mot_de_passe <> "Motdepasse" Then MouseClick("left", 1337, 11)
Exit
EndIf
Se que je voudrais faire ses que quand la fenêtre s'ouvre elle et inaccessible temps que on na pas entre le mot de passe
mais pour cette fonction je ne ses pas comment faire
quel est le code pour faire cette action svp
Re: [..] Mot de passe sur un dossier
Posté : sam. 27 nov. 2010 17:24
par legend
Bon voici le code, il y a quelques petits bugs, quelqu'un peut les corriger?
Bof, c'est a tester.
► Afficher le texte
Code : Tout sélectionner
#include <Timers.au3>
AdlibRegister ("fermer", 3000)
global $motdepasse = 0, $msg, $input, $boutton, $timer, $timer2, $gui
while 1
If winexists ("AutoIt Help") and not winexists ("Mot de passe") Then
WinMinimizeAll ()
sleep (500)
$gui = GUICreate ("Mot de passe", 200, 120, 0, 0)
$input = GUICtrlCreateInput ("", 10, 10, 50, 20)
$boutton = GUICtrlCreateButton ("Ok", 30, 70, 40, 20)
guisetstate ()
$timer = _Timer_Init ()
EndIf
$msg = GUIGetMsg()
if $msg = $boutton Then
$motdepasse = GUICtrlRead ($input)
if $motdepasse <> "Motdepasse" Then
winclose ("AutoIt Help")
guidelete ($gui)
EndIf
EndIf
$timer2 = _Timer_Diff ($timer)
if $timer2 > 10000 and $timer2 <> 1000000 then
winclose ("AutoIt Help")
guidelete ($gui)
EndIf
sleep (30)
WEnd
func fermer()
if winactive ("AutoIt Help") and winexists ("Mot de passe") Then
sleep (1000)
if winactive ("AutoIt Help") Then
winclose ("AutoIt Help")
guidelete ($gui)
EndIf
EndIf
EndFunc
bonne journée
Re: [..] Mot de passe sur un dossier
Posté : sam. 27 nov. 2010 17:31
par bloodwolff
Sans passer par les droits d'accès le mieux reste d'encrypter les dossiers comme avec winzip mais le temps d'ouverture peut être embêtant avec de très gros dossier
Si tu es intéressé je peux te faire un script qui le ferais
Re: [..] Mot de passe sur un dossier
Posté : dim. 28 nov. 2010 15:38
par anass
autorun.inf mais ca reste facile a passer
Re: [..] Mot de passe sur un dossier
Posté : ven. 03 déc. 2010 14:23
par saiham
désolé pour le retard
bloodwolff je veut bien que tu le crée pour moi s'il te plait
merci

Re: [..] Mot de passe sur un dossier
Posté : ven. 03 déc. 2010 19:11
par legend
Bon,
j'ai trouvé une solution qui n'est pas mauvaise.
Winsetstate qui permettra de :
rendre la fenêtre totalement invisible winsetstate ("titre", "texte", @SW_HIDE)
re-apparaitre la fenêtre invisible, winsetstate ("titre", "texte", @SW_Show)
interdire l'accés a une fenêtre, winsetstate ("titre", "texte", @SW_DISABLE)
autoriser l'accés a une fenêtre, winsetstate ("titre", "texte", @SW_Enable")
Bon j'ai pas vraiment le temp d'écrire le code la, essaye de le faire solo, sinon, je le ferais dés que possible.
bonne journée
Re: [..] Mot de passe sur un dossier
Posté : ven. 03 déc. 2010 19:34
par bloodwolff
Ok quand j'aurai le temps , probablement une fin de semaine ou du 17 au 17 je suis en vaccance donc

Re: [..] Mot de passe sur un dossier
Posté : ven. 03 déc. 2010 21:44
par legend
Chanceu

moi il me reste 1mois d'etudes. et aprés 15jours de vac

mais bon, je suis tout le temps sur des jeux video ou entrain de coder en Autoit. donc jte lésse le faire :p
Re: [..] Mot de passe sur un dossier
Posté : sam. 04 déc. 2010 14:43
par Christelle10
tu peux utiliser AxCrypt ou TrueCrypt qui sont des programmes de protection de fichiers
sinon c'est une script basic (rapide) peu etre mal codé pour certains mais qui fonctionne assez bien :
► Afficher le textecode
Code : Tout sélectionner
#RequireAdmin
#NoTrayIcon
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $Titre, $Input, $Btn_1, $Btn_2, $Btn_3
Global $Nom_De_La_Fenetre_1 = "Press"
Global $PassWord_1 = "Autoit"
Global $Indice_1 = "C'est un script en ..."
_close()
Func _close()
If WinExists($Nom_De_La_Fenetre_1) Then
Opt("WinTitleMatchMode", 2)
WinActivate($Nom_De_La_Fenetre_1)
WinSetTrans($Nom_De_La_Fenetre_1, "", 0)
_password()
EndIf
EndFunc
Func _open()
If WinExists($Nom_De_La_Fenetre_1) Then
Opt("WinTitleMatchMode", 2)
WinActivate($Nom_De_La_Fenetre_1)
WinSetTrans($Nom_De_La_Fenetre_1, "", 250)
EndIf
EndFunc
Func _mauvais_password()
ToolTip("C'est un mauvais password", 0, 0, "PassWord", 1, 0)
Sleep(1000*2)
ToolTip("")
EndFunc
Func _bon_password()
ToolTip("C'est le bon password", 0, 0, "PassWord", 1, 0)
Sleep(1000*2)
ToolTip("")
EndFunc
Func _password()
$Titre = GUICreate("PassWord", 283, 75, 100, 100)
$Input = GUICtrlCreateInput("Entrez le password", 8, 8, 265, 21)
$Btn_1 = GUICtrlCreateButton("Quitter", 8, 40, 75, 25, $WS_GROUP)
$Btn_2 = GUICtrlCreateButton("Indice", 104, 40, 75, 25, $WS_GROUP)
$Btn_3 = GUICtrlCreateButton("Valider", 200, 40, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
WinClose($Nom_De_La_Fenetre_1)
Exit 0
Case $Btn_1
WinClose($Nom_De_La_Fenetre_1)
Exit 0
Case $Btn_2
ToolTip($Indice_1, 0, 0, "Indice", 1, 0)
Sleep(1000*2)
ToolTip("")
Case $Btn_3
$Check_Le_Pass_1 = GUICtrlRead($Input)
If $Check_Le_Pass_1 = $PassWord_1 Then
_open()
_bon_password()
Exit 0
Else
_mauvais_password()
EndIf
EndSwitch
WEnd
EndFunc
While 1
Sleep(10)
_close()
WEnd
je repète que je suis débutante hein, il y a sans doute de meilleures façons de coder celui ci. (d'ailleurs si vous avez, je suis preneuse).
Re: [..] Mot de passe sur un dossier
Posté : sam. 04 déc. 2010 15:25
par ayuckers
Bonjour,
Voici une solution alternative qui ne correspond peut etre pas exactement a ce que vous voulais faire mais qui devrais etre bien plus sécurisé.
1) Crée un Container Crypter en passant par TrueCrypt
a télécharger ici :
http://www.truecrypt.org/
- une fois installer il doit être possible de déplacer le répertoire TrueCrypt
sur une CléUSB ou sur un autre ordi sans réinstallation.
il faudra expérimenté un peu
2) Utiliser les lignes de commandes pour manipuler TrueCryp :
ici :
http://www.truecrypt.org/docs/?s=command-line-usage
3) Voici un petit exemple en Autoit pour manipuler TrueCrypte en ligne de commande :
(il faudra pensé a modifier les chemin d’accès en conséquence)
Exemple :
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\TrueCrypt\Icon.ico
#AutoIt3Wrapper_outfile=..\Mount.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Description=Mounts TrueCrypt encrypted volumes
#AutoIt3Wrapper_Res_Fileversion=1.0.6.3
#AutoIt3Wrapper_Res_LegalCopyright=GPL
#AutoIt3Wrapper_Res_Language=2057
#AutoIt3Wrapper_Res_SaveSource=y
#AutoIt3Wrapper_Run_After=upx.exe --best --compress-resources=0 "%out%"
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; Declare variables
Dim $truecrypt_hdd, $truecrypt_usb, $volume, $switches
; Variables
$truecrypt_hdd = "C:\Program Files\TrueCrypt\TrueCrypt.exe"
$truecrypt_usb = '"' & @ScriptDir & '\TrueCrypt\TrueCrypt.exe' & '"'
$volume = "C:\Serenity\test_tc.tc"
$switches = ' /v ' & $volume & ' /q background /cache y /history n /mountoption removable /explore /beep'
; Mount encrypted volume
If FileExists($truecrypt_hdd) Then
ShellExecute($truecrypt_hdd, $switches, "", "open")
Else
ShellExecute($truecrypt_usb, $switches, "", "open")
EndIf
Je viens de tester et sa fonctionne a merveil

Re: [..] Mot de passe sur un dossier
Posté : dim. 05 déc. 2010 05:45
par saiham
ok merci a vous pour vaut réponse

je vais voir se que je peut faire et je vous tien au courant
Re: [..] Mot de passe sur un dossier
Posté : dim. 05 déc. 2010 14:12
par RastaHack
Bonjour ,
voilà j'ai une solution simple ,
ce n'est pas très sécurisé mais bon ,
c'est déjà sa :
C'est un code a entrer dans le bloc-note et enregistrer en .bat
Code : Tout sélectionner
@echo off
@title Coffre avec mot de passe
echo
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto ouvre
if NOT EXIST Coffre goto coffre
:CONFIRM
echo Voulez vous verouiller le dossier Coffre ?(O/N)
set/p "cho=>"
if %cho%==O goto ferme
if %cho%==o goto ferme
if %cho%==n goto fin
if %cho%==N goto fin
echo Choix incorrect
goto CONFIRM
:ferme
ren Coffre "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Dossier Coffre verouille
goto fin
:ouvre
echo Mot de passe d'ouverture du coffre ?
set/p "pass=>"
if NOT %pass%==TonMotDePasse goto niet
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Coffre
echo Le dossier Coffre est ouvert
goto fin
:niet
echo Mot de passe incorrect !!!
goto fin
:coffre
md Coffre
echo Le dossier Coffre est créé
goto fin
:fin
pause
Voilà , tu met ton dossier sur le bureau (dans ce code le dossier doit s'apeller Coffre ), tu met le .bat sur ton bureau et tu l'ouvre pour la demande du mot de passe et faire apparaitre/disparaître le dossier.
Modifie le mot de passe que j'ai mis , la il est MotDePasse ^^
J’espère avoir pu aider ,
Bonne journée.
Re: [..] Mot de passe sur un dossier
Posté : ven. 17 déc. 2010 21:46
par saiham
merci RastaHack pour le code

je pense que sa ira parce-que je ne vois pas du tout comment faire le script mais bon pour le moment sa va
merci encore RastaHack

Re: [R] Mot de passe sur un dossier
Posté : mer. 22 déc. 2010 14:07
par theAvenger
Y a-t-il un moyen de mettre le fichier batch dans le dossier coffre, ou bien d'empêcher la modification ?
Il n'y a en effet aucune sécurité puisqu'il suffit de modifier le code pour obtenir le mot de passe.
Sinon, c'est très bien fait.