Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 11/09/2024, à 13:43

geole

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

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...

GR 34 a écrit :

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

Watael a écrit :

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...

geole a écrit :

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...

soshy a écrit :

...
- 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.

soshy a écrit :

ç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...

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 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...

soshy a écrit :
for $file in $(ls mon_rep/*.0) ; do

mais pourquoi tout gâcher comme ça ? C'est horrible, ça !!!
lol

Historiquement un caractère (character en anglais) était encodé sur 1 octet (donc 1 byte).

ça reste peu intuitif.
mais merci. wink


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...

GR 34 a écrit :
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 extension

Désolé mais je ne vois pas. tu peux me donner le n° de ton post ?

32


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...

Watael a écrit :

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 smile

Hors ligne