Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Associer de la donnée à un fichier

5 réponses
Avatar
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.

5 réponses

Avatar
Sergio
Le 15/11/2014 10:37, meta a écrit :
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.



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)

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 ?



Il y a la fonction système correspondant à attrib.

Même question éventuellement pour Linux.



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
Avatar
Jean-Claude BELLAMY
Le samedi 15/11/2014 10:37:33, meta a écrit dans le message
<news:54671ed8$0$2114$ ce qui suit :
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 ?




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
Avatar
DuboisP
Le 15/11/2014 11:15, Sergio a écrit :
Le 15/11/2014 10:37, meta a écrit :
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.



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)




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
Avatar
Otomatic
Jean-Claude BELLAMY écrivait :

En résumé, si on veut TOUT afficher (ce que je préconise, AMHA),
on doit donc avoir :
hidden=1
HideFileExt=0
ShowSuperhidden=1


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.
Avatar
meta
J'ai lu plein de réponses détaillées très intéressantes, mais la vraie
question reste quand même celle-ci:

Mon but est ............................... 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.