Associer de la donnée à un fichier
Le
meta

Bonjour,
Il y a quelques années, j'ai du nettoyer manuellement sur mon PC un virus
qui recopiait des exécutables vérolés dans le répertoire Windows et les
avait rendus invisibles.
Je m'interroge depuis sur la manière dont il l'a fait: où dans le système
a-t'il écrit l'information que tel fichier devait être non visible sous
l'explorateur.
Mon but est moins de savoir comment rendre un fichier invisible que de
déterminer comment associer de l'information supplémentaire à un fichier. Un
bit d'information suffirait, plus serait évidemment mieux, car bien
évidemment c'est pour être exploité mais pas par un virus. Pour un fichier
quelconque nouvellement créé, je voudrais pouvoir lui rajouter par programme
un bit de données soit dans son descripteur soit au niveau du SGF ? Est-ce
faisable ?
Même question éventuellement pour Linux.
Il y a quelques années, j'ai du nettoyer manuellement sur mon PC un virus
qui recopiait des exécutables vérolés dans le répertoire Windows et les
avait rendus invisibles.
Je m'interroge depuis sur la manière dont il l'a fait: où dans le système
a-t'il écrit l'information que tel fichier devait être non visible sous
l'explorateur.
Mon but est moins de savoir comment rendre un fichier invisible que de
déterminer comment associer de l'information supplémentaire à un fichier. Un
bit d'information suffirait, plus serait évidemment mieux, car bien
évidemment c'est pour être exploité mais pas par un virus. Pour un fichier
quelconque nouvellement créé, je voudrais pouvoir lui rajouter par programme
un bit de données soit dans son descripteur soit au niveau du SGF ? Est-ce
faisable ?
Même question éventuellement pour Linux.
C'est un attribut des fichiers depuis que la FAT existe :
Un fichier peut avoir les attributs r (read-only) h (hidden) et s (system)
On peut le modifier avec la commande attrib :
attrib +r +s +h <fichiers>
(pour rendre un fichier lecture seule, caché et système)
Il y a la fonction système correspondant à attrib.
Linux gère différemment les droits :
- Un fichier commençant par un point est caché.
- Chaque fichier a un propriétaire et un groupe.
- Chaque fichier a des droits en lecture / écriture / exécution pour tous / le groupe / le propriétaire.
Ça se règle avec la commande chown (changement de propriétaire/groupe) et chmod (changement des droits) ou les fonctions systèmes
correspondantes.
Notons que ces droits ne sont pas gérés (sous Linux) sur les partitions FAT ou NTFS.
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Les attributs de base d'un fichier sont (cela a commencé avec DOS 1.0,
soit 1981) :
R : readonly (lecture seule, pour empêcher une suppression
accidentelle par la commande "del", ou une modification
par un logiciel quelconque)
Valeur = 0x00000001
H : hidden (caché, sert à masquer l'affichage du fichier ou
dossier avec les outils standards tels que la commande
"dir" sans commutateurs)
Valeur = 0x00000002
S : system (attribut permettant des filtrages supplémentaires,
destiné a priori aux fichiers principaux du système
d'exploitation)
Valeur = 0x00000004
V : volume (attribut réservé à l'entrée du répertoire racine
contenant le nom de la partition)
NB: cet attribut sert aussi dans les FAT32 pour les noms
longs de fichiers
Valeur = 0x00000008
D : Directory (attribut réservé à tout répertoire)
Valeur = 0x00000010
A : Archive (attribut activé quand un fichier ou dossier a été
créé ou modifié. Il est effacé par les logiciels de backup)
Valeur = 0x00000020
Et dans le cas de partitions NTFS, d'autres attributs sont apparus :
D : device
Valeur = 0x00000040
T : temporary
Valeur = 0x00000100
S : sparse file (fichier clairsemé)
Valeur = 0x00000200
L : Link (lien ou alias)
Valeur = 0x00000400
C : compressed (compressé, mutuellement exclusif
avec l'attribut chiffré)
Valeur = 0x00000800
O : offline (?)
Valeur = 0x00001000
E : encrypted (chiffré, mutuellement exclusif
avec l'attribut compressé)
Valeur = 0x00004000
W : virtuel
Valeur = 0x00010000
http://msdn.microsoft.com/en-us/library/gg258117.aspx
PAR AILLEURS, l'affichage (ou non) d'un fichier dans l'EXPLORATEUR
(cela ne concerne QUE l'explorateur!) est conditionné par des
paramètres stockés dans la clef :
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
Les entrées concernées sont toutes des REG_DWORD.
Il y en a 3 essentiellement :
1)afficher les dossiers et fichiers cachés
"hidden"
2 pour ne pas afficher
1 pour afficher
2)cacher les extensions des fichiers dont le type est connu
"HideFileExt"
0 pour ne pas cacher
1 pour cacher
3)masquer les fichiers protégés du système d'exploitation
qui ont à la fois les attributs "system" et "hidden"
"ShowSuperhidden"
0 pour masquer
1 pour ne pas masquer
En résumé, si on veut TOUT afficher (ce que je préconise, AMHA),
on doit donc avoir :
hidden=1
HideFileExt=0
ShowSuperhidden=1
et si on ne veut rien :
hidden=2
HideFileExt=1
ShowSuperhidden=0
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY
http://www.bellamyjc.fr ou http://jc.bellamy.free.fr
le fichier vérolé restait probablement caché même après changement de
l'attribut hidden.
à une époque, on pouvait mettre dans le début du nom de fichier un
"espace" spécial, un ALT+0+255 si mes souvenirs sont justes, et le
fichier disparaissait.
ou quelque chose dans le genre
Oui, mais...
ShowSuperhidden=1 a un « effet de bord » qui fait que l'on se retrouve
avec (au moins) trois icônes superfétatoires et du plus mauvais effet
sur le bureau :
- desktop.ini (deux fois)
- RECYCLER
et ça dérange la méticuleuse organisation de mon bureau !
--
Ayez l'obligeance de me parler avec douceur, sans élever le ton et sans me
contredire en aucune manière. Chez les gens de mon âge, le bruit et la
contradiction provoquent des hausses brusque de tension, de l'hyperacidité
gastrique, des troubles cardiaques, et je deviens très rapidement désagréable.
question reste quand même celle-ci: