[..] Verrouillage de fichier
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
[..] Verrouillage de fichier
Hello,
suite à la demande de Tlem dans ce topic : ici j'ai refait une demande concernant ce problème.
Comment faire pour lire un fichier de config et de le bloquer pour que personne d'autre ne puisse le lire tant que le programme fonctionne?
Merci d'avance pour votre aide
suite à la demande de Tlem dans ce topic : ici j'ai refait une demande concernant ce problème.
Comment faire pour lire un fichier de config et de le bloquer pour que personne d'autre ne puisse le lire tant que le programme fonctionne?
Merci d'avance pour votre aide
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Vérouillage de fichier
Pour faire ce genre de chose, il faut certaines conditions.
Déjà, dans quel environnement voulez-vous faire cela (quel type de Windows) ?
Le fichier se trouve ou ?
Vous voulez interdire l’accès à ce fichier en local, ou sur un partage ?
Quel sont vos droits ?
Déjà, dans quel environnement voulez-vous faire cela (quel type de Windows) ?
Le fichier se trouve ou ?
Vous voulez interdire l’accès à ce fichier en local, ou sur un partage ?
Quel sont vos droits ?
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Vérouillage de fichier
Dans Windows XP puis ensuite sur Se7en.
Le fichier se trouvera en local sur le disque dur et le programme se lancera avec les droits d'admin.
Le fichier se trouvera en local sur le disque dur et le programme se lancera avec les droits d'admin.
Re: [..] Vérouillage de fichier
pour XP la Command cmd CACLS devrai faire l'affaire après pour 7 fait une recherche sur google
- SrBelial
- Niveau 7

- Messages : 335
- Enregistré le : jeu. 22 juil. 2010 11:29
- Localisation : 81 et 31
- Status : Hors ligne
Re: [..] Vérouillage de fichier
j'ai bien une astuce pour rendre ton fichier complètement invisible (même pour windows, testé sous win xp, pas sur les suivants), ce qui rendrait impossible à un utilisateur de trouver ce fichier sur le disque (même avec une recherche de fichier)
cependant si un autre programme veut l'utiliser et connait son emplacement exact, alors là c'est mort ... rien n'empêche l'autre programme de le lire (on peut l'empecher de le modifier par contre)
idem si tu connais son emplacement exact et son nom exact, il est possible de l'ouvrir avec notepad même lorsqu'il est invisible
voila voila,
à toi de me dire si empêcher user/logiciels de modifier ton fichier suffit, ou si tu veux vraiment vraiment le bloquer
auquel cas il te faudra suivre le conseil de geldroc et t'orienter vers la gestion des droits d'accès aux fichiers.
cependant si un autre programme veut l'utiliser et connait son emplacement exact, alors là c'est mort ... rien n'empêche l'autre programme de le lire (on peut l'empecher de le modifier par contre)
idem si tu connais son emplacement exact et son nom exact, il est possible de l'ouvrir avec notepad même lorsqu'il est invisible
voila voila,
à toi de me dire si empêcher user/logiciels de modifier ton fichier suffit, ou si tu veux vraiment vraiment le bloquer
auquel cas il te faudra suivre le conseil de geldroc et t'orienter vers la gestion des droits d'accès aux fichiers.
.-SrB-. The One
- NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
- OUI ! AutoIt est un langage à part entière !
- Dans SciTE sélectionnez 1 mot puis F1
- Don't want english doc ?? go to documentation française !! >>ICI<<
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Vérouillage de fichier
Hello,
la version avec la commande dos, j'aime pas beaucoup. Je préférerai s'il y avait une solution sous autoit.
@SrBelial : Ton idée me plaît, tu peux m'en dire plus??
S'il y a d'autres solutions, n'hésitez pas à m'en faire part...
la version avec la commande dos, j'aime pas beaucoup. Je préférerai s'il y avait une solution sous autoit.
@SrBelial : Ton idée me plaît, tu peux m'en dire plus??
S'il y a d'autres solutions, n'hésitez pas à m'en faire part...
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Vérouillage de fichier
J'imagine que c'est la même solution que SrBeliab avait en tête mais
pour cacher un fichier à la vue de tous et ce, même au programme de recherche, il
suffit de lui donner l'attribut système, l'attribut caché et l'attribut lecture seule.
Il est toujours accessible pour n'importe quel programme de par
son chemin mais il sera invisible aux yeux de (presque) tous les
utilisateurs.
Le seul moyen de voir se fichier est soit d'enlever les attributs que tu
as mis :
ou bien d'aller dans "Options des dossiers" du panneau de configuration et
de décocher "Masquer les fichiers protégés du système d'exploitation (recommandé)" ce
que la plupart des utilisateurs n'iront pas décocher.
pour cacher un fichier à la vue de tous et ce, même au programme de recherche, il
suffit de lui donner l'attribut système, l'attribut caché et l'attribut lecture seule.
Code : Tout sélectionner
FileSetAttrib('Fichier.txt','+SHR')
son chemin mais il sera invisible aux yeux de (presque) tous les
utilisateurs.
Le seul moyen de voir se fichier est soit d'enlever les attributs que tu
as mis :
Code : Tout sélectionner
FileSetAttrib('Fichier.txt','-SHR')
de décocher "Masquer les fichiers protégés du système d'exploitation (recommandé)" ce
que la plupart des utilisateurs n'iront pas décocher.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Vérouillage de fichier
@SagePourpre : Alors cette solution ne me plait pas car les options des dossiers affichent TOUS les fichiers cachés. Et cette option ne va pas changer.
- SrBelial
- Niveau 7

- Messages : 335
- Enregistré le : jeu. 22 juil. 2010 11:29
- Localisation : 81 et 31
- Status : Hors ligne
Re: [..] Vérouillage de fichier
^__^
si si cette solution te plait
lol
c'est exactement ce que j'avais en tête ...
en fait non les options de dossiers n'affichent pas TOUS les fichiers cachés !
Elles n'affichent que les fichiers cachés possédant uniquement l'attribu H (hidden), seulement si des fichiers possèdent également l'attribu S (syteme), alors le fichier n'apparaitra jamais dans ton dossier, il devient complètement invisible (TADAAAAAM)
(et bien entendu l'attribut R pour marquer en lecture seule afin que même si qqn connait l'emplacement du fichier il ne puisse pas le modifier)
essaie dans un répertoire à toi : ouvre un dossier, règle tout pour qu'il t'affiche les fichiers cachés, et sur deux fichiers différents lance les commandes suivantes (depuis CMD) :
attrib +s +h toto.txt
attrib +h titi.txt
toto.txt disparaitra purement et simplement de ton dossier alors que titi.txt sera affiché comme n'importe quel fichier caché (légèrement transparentisé ...)
si si cette solution te plait
c'est exactement ce que j'avais en tête ...
en fait non les options de dossiers n'affichent pas TOUS les fichiers cachés !
Elles n'affichent que les fichiers cachés possédant uniquement l'attribu H (hidden), seulement si des fichiers possèdent également l'attribu S (syteme), alors le fichier n'apparaitra jamais dans ton dossier, il devient complètement invisible (TADAAAAAM)
(et bien entendu l'attribut R pour marquer en lecture seule afin que même si qqn connait l'emplacement du fichier il ne puisse pas le modifier)
essaie dans un répertoire à toi : ouvre un dossier, règle tout pour qu'il t'affiche les fichiers cachés, et sur deux fichiers différents lance les commandes suivantes (depuis CMD) :
attrib +s +h toto.txt
attrib +h titi.txt
toto.txt disparaitra purement et simplement de ton dossier alors que titi.txt sera affiché comme n'importe quel fichier caché (légèrement transparentisé ...)
.-SrB-. The One
- NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
- OUI ! AutoIt est un langage à part entière !
- Dans SciTE sélectionnez 1 mot puis F1
- Don't want english doc ?? go to documentation française !! >>ICI<<
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Vérouillage de fichier
Ben chez moi, ça ne change rien. Les deux sont toujours là. Donc, cette solution ne convient pas, merci quand même pour l'idée.
Re: [..] Vérouillage de fichier
J'approuve
attrib +s +h toto.txt
attrib +h titi.txt
cache bien les 2 fichiers et les 2 sont lisibles via l'option windows
attrib +s +h toto.txt
attrib +h titi.txt
cache bien les 2 fichiers et les 2 sont lisibles via l'option windows
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Vérouillage de fichier
@ricky :
Essaie ça :
Le fichier système.ini est-il visible ?
Essaie ça :
Code : Tout sélectionner
FileWrite('caché.ini', '')
FileWrite('Système.ini', '')
FileSetAttrib('caché.ini', '+H')
FileSetAttrib('Système.ini', '+SH')
ShellExecute(@ScriptDir)
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Vérouillage de fichier
Je viens de relire le titre du sujet, il n'a jamais été question de cacher le fichier
de toute façon ...
(Tu as donc désactivé l'option "Masquer les fichiers système protégés" sinon mon système.ini n'apparaîtrait pas)
Il y'a aussi une méthode différente pour empêcher la lecture.
Pour empêcher la modification, il y'a l'attribut lecture seule.
Si le but est simplement d'empêcher la lecture par quelqu'un, utilise
pour générer le contenu de ton fichier.
L'utilisateur pourra voir le contenu du fichier, mais encrypté, il n'a
plus aucun sens pour quiconque sauf ton script, qui pourra décrypter le fichier
afin de lire son contenu.
Sinon, il me semble bien qu'en utilisant dllcall
pour appeler la fonction d'ouverture de fichier, tu peux carrément bloquer l'accès à toutes les autres
applications (et donc, vraiment verrouiller le fichier tant que ton application se l'accapare)
Exactement comment appeler cette fonction, je ne pourrais dire vu de tête.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
de toute façon ...
(Tu as donc désactivé l'option "Masquer les fichiers système protégés" sinon mon système.ini n'apparaîtrait pas)
Il y'a aussi une méthode différente pour empêcher la lecture.
Pour empêcher la modification, il y'a l'attribut lecture seule.
Si le but est simplement d'empêcher la lecture par quelqu'un, utilise
Code : Tout sélectionner
_StringEncryptL'utilisateur pourra voir le contenu du fichier, mais encrypté, il n'a
plus aucun sens pour quiconque sauf ton script, qui pourra décrypter le fichier
afin de lire son contenu.
Code : Tout sélectionner
#include <String.au3>
$data = _
'opt=Mouette' & @CRLF & _
'opton 2=ceci est un test'
$data = _StringEncrypt(1,$data,'mouette',1)
; FileWrite('tmp.txt',$data) ; pour écrire un fichier contenant la string encryptée
$contenu_decrypte = _StringEncrypt(0,$data,'mouette',1)
MsgBox(0,'','Tel que vu par autoit :' & @CRLF & @CRLF & $contenu_decrypte & @CRLF & @CRLF & 'Tel que vu dans le fichier :' & @CRLF & @CRLF & $data)
Sinon, il me semble bien qu'en utilisant dllcall
pour appeler la fonction d'ouverture de fichier, tu peux carrément bloquer l'accès à toutes les autres
applications (et donc, vraiment verrouiller le fichier tant que ton application se l'accapare)
Exactement comment appeler cette fonction, je ne pourrais dire vu de tête.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Vérouillage de fichier
Oui, pour créer un fichier en crypté. Mais dans mon cas, le fichier existe, car c'est le fichier de config du programme. Et j'aimerais que pendant qu'il fonctionne ce fichier soit bloqué.
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Vérouillage de fichier
oops... tu as été plus vite que mon édition.
Regarde la fin de mon précédent message à propos du dllcall.
Comme je te dis par contre, je ne maîtrise pas vraiment les dllcall suffisamment pour t'être
utile à l'élaboration de ce dllcall.
Regarde la fin de mon précédent message à propos du dllcall.
Comme je te dis par contre, je ne maîtrise pas vraiment les dllcall suffisamment pour t'être
utile à l'élaboration de ce dllcall.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [..] Verrouillage de fichier
Pour quel raison ne souhaitez vous pas qu'on puisse le modifier ?
Si c'est pour que personne ne le modifie pendant votre lecture, pourquoi ne pas en faire une copie le temps de l'exécution de votre programme, pour ensuite le reconstruire des que vous en avez fini.
Comme ca, il ne sera pas protégé, mais toutes les modification apporté seront nulles.
Mieux, vous pouvez aussi détruire l'original pendant la lecture, comme ca, si d'autre programme essaye d'y accéder, ils ne pourront vraiment pas !
Si c'est pour que personne ne le modifie pendant votre lecture, pourquoi ne pas en faire une copie le temps de l'exécution de votre programme, pour ensuite le reconstruire des que vous en avez fini.
Comme ca, il ne sera pas protégé, mais toutes les modification apporté seront nulles.
Mieux, vous pouvez aussi détruire l'original pendant la lecture, comme ca, si d'autre programme essaye d'y accéder, ils ne pourront vraiment pas !
Signez ici
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Verrouillage de fichier
+1 pour la lecture du fichier + mémorisation des valeurs puis destruction du fichier.
Re-construction du fichier à la sortie du programme.
Il peut être envisagé de créer une copie du fichier dans le dossier temp au cas ou le soft plante.
Re-construction du fichier à la sortie du programme.
Il peut être envisagé de créer une copie du fichier dans le dossier temp au cas ou le soft plante.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- ricky
- Niveau 7

- Messages : 443
- Enregistré le : ven. 06 févr. 2009 09:25
- Localisation : Suisse
- Status : Hors ligne
Re: [..] Verrouillage de fichier
Oui, mais c'est un peu plus compliqué que ça, le fichier est crypté, mais il faut bien que je le décrypte quelque part. Donc, je le décrypte dans un fichier temp et j'aimerais le verrouiller afin que personne ne puisse le lire durant ce décryptage et après (si je ne le supprime pas).
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Verrouillage de fichier
Pourquoi le décrypter dans un fichier temporaire dans ce cas ...
Faites le en mémoire, comme cela vous n'aurez plus de problèmes.
Faites le en mémoire, comme cela vous n'aurez plus de problèmes.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".


