#51 Le 11/09/2024, à 13:43
- geole
Re : Rendre illisible un fichier sans le chiffrer...
Bonjour
1er script bash : rendre illisibles les fichiers du dossier essai
#!/bin/bash entete="/home/gr/Bureau/essai/tete" for fichier in /home/gr/Bureau/essai/*; do # sélection des 8 premiers octets du header head -c 8 "$fichier" > "$entete" # tronquer le header, enlever ses 8 premiers octets tail -c+9 "$fichier" >"$fichier.0" # on efface le fichier en clair pour n'avoir plus que le fichier tronqué rm "$fichier" done
2eme script bash : on redonne aux fichiers les 8 premiers octets du header pour les rendre lisibles à nouveau
A essayer
#!/bin/bash
entete="/home/gr/Bureau/essai/tete"
for fichier in /home/gr/Bureau/essai/*.0; do
cat "$entete" "$fichier" >"${fichier::-2}"
rm "$fichier"
done
Dernière modification par geole (Le 11/09/2024, à 13:44)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#52 Le 11/09/2024, à 14:51
- Watael
Re : Rendre illisible un fichier sans le chiffrer...
"${fichier::-2}" oui. Ou, pour être plus spécifique, peut-être : "${fichier/%.0}"
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#53 Le 11/09/2024, à 14:54
- Watael
Re : Rendre illisible un fichier sans le chiffrer...
Dans ce cas, ça complique les choses. Ceci dit, ça fait longtemeps que je n'ai pas vu un fichier en .wav
Je vais tester sur des .mp4, des docx, des jpg, etc...
Malheureusement mon problème n'est pas résolu : ça bloque toujours dans le 2eme script nommé : fic_decache.sh
#!/bin/bash entete="/home/gr/Bureau/essai/tete" entete=$(head '/home/gr/Bureau/essai/tete') for fichier in /home/gr/Bureau/essai/*; do cat "$entete" "$fichier" >"$fic" done
à la ligne cat... j'ai l'erreur /home/gr/Bureau/fic_decache.sh: ligne 5: : Aucun fichier ou dossier de ce type or j'ai contrôlé
"$entete" renvoit : ftyp
"$fichier" renvoit à chaque fois le nom du fichier tronqué
"$fic" ne renvoit rien !Mon fichier tete contient bien les 8 octets mais peut-être est-ce un problème de codage des caractères ? En UTF-8 j'ai \00\00\00 ftyp
cat concatène des fichiers, or le développement de head ... n'est pas un nom de fichier, c'est le contenu du fichier.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#54 Le 11/09/2024, à 14:59
- soshy
Re : Rendre illisible un fichier sans le chiffrer...
Difficile de suivre où vous en êtes, mais il n'y a rien qui va dans ce que je lis...
Hypothèses de départ :
- retirer une entête de fichier le rend illisible : faux. Un fichier texte simple n'a pas d'entête. En retirant 8 octets tu vas retirer les 8 premiers caractères du fichier.
- Vu la tronche des script, tu pars du principe que tous les fichiers d'une même extensions ont les mêmes 8 premiers octets : faux. Pour un fichier zip, les octets 5 et 6 servent à stocker la version minimale à utiliser pour extraire un fichier zip. J'imagine même pas pour les autres formats...
Il faut donc stocker entete et reste_du_fichier pour chaque fichier et non par extension.
ça donne un truc du style pour le 1er script
for fichier in /home/gr/Bureau/essai/*; do
head -c 8 "$fichier" > "$fichier".0
tail -c+9 "$fichier" >"$fichier".1
rm "$fichier"
done
et dans le 2nd script un truc du genre
for $file in $(ls mon_rep/*.0) ; do
original_file_name=${file%??} # ici on enlève .0 pour retrouver le nom original
cat "$original_file_name.0" "$original_file_name.1" > "$original_file_name"
done;
C'est du pseudo code pas testé, mais l'esprit est là.
Et pour répondre aux questions importantes
mais pourquoi -c pour --bytes ?!
Historiquement un caractère (character en anglais) était encodé sur 1 octet (donc 1 byte).
Dernière modification par soshy (Le 11/09/2024, à 15:15)
Hors ligne
#55 Le 11/09/2024, à 15:02
- GR 34
Re : Rendre illisible un fichier sans le chiffrer...
Bonjour
GR 34 a écrit :1er script bash : rendre illisibles les fichiers du dossier essai
#!/bin/bash entete="/home/gr/Bureau/essai/tete" for fichier in /home/gr/Bureau/essai/*; do # sélection des 8 premiers octets du header head -c 8 "$fichier" > "$entete" # tronquer le header, enlever ses 8 premiers octets tail -c+9 "$fichier" >"$fichier.0" # on efface le fichier en clair pour n'avoir plus que le fichier tronqué rm "$fichier" done
2eme script bash : on redonne aux fichiers les 8 premiers octets du header pour les rendre lisibles à nouveau
A essayer
#!/bin/bash entete="/home/gr/Bureau/essai/tete" for fichier in /home/gr/Bureau/essai/*.0; do cat "$entete" "$fichier" >"${fichier::-2}" rm "$fichier" done
Super, un grand merci geole, ça fonctionne bien.
Karantez-vro... Breizhad on ha lorc'h ennon !
«Les animaux sont mes amis. Et je ne mange pas mes amis.» George Bernard Shaw
https://www.l214.com/
Hors ligne
#56 Le 11/09/2024, à 15:10
- GR 34
Re : Rendre illisible un fichier sans le chiffrer...
...
- Vu la tronche des script, tu pars du principe que tous les fichiers d'une même extensions ont les mêmes 8 premiers octets : faux. Pour un fichier zip, les octets 5 et 6 servent à stocker la version minimale à utiliser pour extraire un fichier zip. J'imagine même pas pour les autres formats...Il faut donc stocker entete et reste_du_fichier pour chaque fichier et non par extension.
Merci pour ta réponse. Effectivement faut que je teste sur un dossier ne comportant qu'une même extension s'il y a des variations dans les 8 premiers octets.
Pour ce qui est de zip, mon script n'apporte rien car on peut mettre un mdp sur la compression.
ça donne un truc du style pour le 1er script
for fichier in /home/gr/Bureau/essai/*; do head -c 8 "$fichier" > "$fichier".0 tail -c+9 "$fichier" >"$fichier".1 rm "$fichier" done
et dans le 2nd script un truc du genre
for $file in $(ls mon_rep/*.0) ; do original_file_name=${f%??} # ici on enlève .0 pour retrouver le nom original cat "$original_file_name.0" "$original_file_name.1" > "$original_file_name" done;
C'est du pseudo code pas testé, mais l'esprit est là.
Ok merci mais geole m'a dépanné voir le post 51
Dernière modification par GR 34 (Le 11/09/2024, à 15:10)
Karantez-vro... Breizhad on ha lorc'h ennon !
«Les animaux sont mes amis. Et je ne mange pas mes amis.» George Bernard Shaw
https://www.l214.com/
Hors ligne
#57 Le 11/09/2024, à 15:12
- GR 34
Re : Rendre illisible un fichier sans le chiffrer...
Merci à tous, j'aurais sans aucun doute encore besoin de vos lumières car je vais m'attaquer à faire la même chose mais dans un dossier comportant des fichiers d'extensions différentes....
Karantez-vro... Breizhad on ha lorc'h ennon !
«Les animaux sont mes amis. Et je ne mange pas mes amis.» George Bernard Shaw
https://www.l214.com/
Hors ligne
#58 Le 11/09/2024, à 15:23
- geole
Re : Rendre illisible un fichier sans le chiffrer...
Mais tu as eu ma première réponse qui fabrique une entête par fichier dans un autre répertoire
et tu viens d'avoir celle de soshy qui fabrique une entête par fichier dans le même répertoire en mettant aussi une extension
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#59 Le 11/09/2024, à 15:47
- GR 34
Re : Rendre illisible un fichier sans le chiffrer...
Mais tu as eu ma première réponse qui fabrique une entête par fichier dans un autre répertoire
et tu viens d'avoir celle de soshy qui fabrique une entête par fichier dans le même répertoire en mettant aussi une extension
Désolé mais je ne vois pas. tu peux me donner le n° de ton post ?
Karantez-vro... Breizhad on ha lorc'h ennon !
«Les animaux sont mes amis. Et je ne mange pas mes amis.» George Bernard Shaw
https://www.l214.com/
Hors ligne
#60 Le 11/09/2024, à 15:49
- Watael
Re : Rendre illisible un fichier sans le chiffrer...
for $file in $(ls mon_rep/*.0) ; do
mais pourquoi tout gâcher comme ça ? C'est horrible, ça !!!
Historiquement un caractère (character en anglais) était encodé sur 1 octet (donc 1 byte).
ça reste peu intuitif.
mais merci.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#61 Le 11/09/2024, à 16:03
- geole
Re : Rendre illisible un fichier sans le chiffrer...
geole a écrit :Mais tu as eu ma première réponse qui fabrique une entête par fichier dans un autre répertoire
et tu viens d'avoir celle de soshy qui fabrique une entête par fichier dans le même répertoire en mettant aussi une extensionDésolé mais je ne vois pas. tu peux me donner le n° de ton post ?
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#62 Le 11/09/2024, à 16:03
- soshy
Re : Rendre illisible un fichier sans le chiffrer...
mais pourquoi tout gâcher comme ça ? C'est horrible, ça !!!
C'est l'esprit de la chose qu'il faut retenir, pas le bout de code crado que j'ai pondu en 10s et qui ne fonctionne probablement pas
Hors ligne