Detection fichier binaire néfaste

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,
voilà, je suis sous Redhat, et j'ai un jolie fichier texte (toto.cc) et kate me le détecte en, fichier binaire.
Pourtant c'est un bon fichier source tout ce qu'il y a de plus classique.
Comment changer ce type de détection ?
merci pour l'aide.
A voir également:

14 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Je ne connais pas Kate, mais peut être qu'il ne reconnaît pas l'extension .cc.
Si tu mets .c, ça donne quoi?
Et même s'il le decte comme binaire, il l'ouvre quand même?!!
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Non, ce n'est pas ça, car j'ouvre sans souci les autres fichier .cc.
même file me sort comme type "data" alors qu'il sort un type correct pour les autres .cc.
Le problème c'est qu'il l'ouvre mais qu'il ne veux pas que je l'enregistre, car sinon ça ferai un fichier corrompu pattati pattata.
Merci, de ta réponse, mais ce n'est malheureusement pas aussi simple.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Est-ce qu'avec un :
cat toto.cc
l'affichage est correct ?
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Que te dit la commande?
file toto.cc
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Extrait du #2 :
même file me sort comme type "data" alors qu'il sort un type correct pour les autres .cc.

;-))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
Salut,

Je n'ai pas vu celui là ;-), j'ai vu ta réponse seulement ;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Tu pourras affiche le contenu.
Peut être qu'à cause d'un caractère au début de fichier le fichier n'est pas reconnu correctement.

Peut être un cat -A sur le fichier.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Merci, mais non, pas de problème en début de fichier...
dans le cat -A, j'ai vu de "^I" qui doivent correspondre au tabulations et de $ qui correspondent aux fin de ligne.
quelques "^@" que j'ai alors supprimé.
Le fichier faisant pas loin de 1000 lignes, il n'est pas facile de détecter des erreurs.
Néanmoins, le souci semblait bien venir de ces "^@". C'est caractère sont apparau à la place de "é" ou de "à" dans le texte.
Il n'y a pas un petit programme qui pourrai nétoyé tout ça ?
Merci.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Ben, je pense que tu peux déjà depister le code des caractères et faire le néttoyage soir avec sed soit avec perl
Normalement il suffira une ligne de commande.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Prends juste quelques lignes de ton fichier et exécute cette commande
perl -ne 's/(.)/ord($1)/eg;print "$_\n"' quelque_lignes.cc

0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
file ne teste que le début du fichier selon /etc/magic ou /usr/share/file/magic
que dit
od -c toto.cc|head
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

file ne teste que le début du fichier selon /etc/magic ou /usr/share/file/magic
Justement, le fait d'voir "data" comme résultat m'a fait penser qu'il y a un problème au début de fichier (voir message 7 ;-)
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
étonnement les caractères qui posaient problème n'étaient pas au début mais assez loin.
od affiche des caractères classiques.
Merci pour la commande perl, mais à part afficher un grand nombre de caractère, ça fait quoi ?
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Ben, en fait le fichier sera transformer en code ASCII
C'est une commande d'analyse et pas de modification.
Faire la commande sur une ligne qui contient les caractères bizarre, nous permettra de depister la(les) séquences de codes (à savoir que tu dois normalement avoir le caractère sur au moins 2 octets)

Une fois le code depister on pourra efectuer un s/// en utilisant des caractères en hexa
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
la séquence qui pose problème semble être plein de 0 (3 en hexadécimal, soit trois caractère à 0).
j'ai repéré avec hexdump. Le code perl donne pareil.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Re-

Extrait du man file :
       -r, --raw
               Don't  translate  unprintable  characters to \ooo.
               Normally file translates unprintable characters to
               their octal representation.
A suivre...
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
Ok, mais je n'ai pas utilisé file...
maintenant, il faut trouver comment virer ces trucs.PS : je ne connais file que depuis aujourd'hui, et je m'en sert juste en tant qu'affichage. Pour une fois je trouve que le man est mal fait.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention  
 
Re,

Ben, laissons la théorie et passons à la pratique ;-)
Si ton fichier n'est pas confidentiel, compresse le et mets le sur cjoint, je vais regarder ce soir quand j'arrive à la maison si entre temps tu n'auras pas une solution.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Ba en fait, la solution pour ce fichier là, je l'ai trouvé : supprimer à la main les caractères à la con (il y avai 3 séquences dans tout le fichier). Ensuite, le fichier est plutôt confidentiel :-(.
En fait, ce que je cherchais, c'est un automatisme pour traiter l'ensemble des fichiers du programme (1500) afin que le problème se reproduise le moins possible.
Et il risque de se reproduire, car les fichiers sont transporté de windows à linux par ftp et http, et éditer avec pleins d'éditeurs différents. Même si la consigne de ne plus mettre de caractères accentués dans les sources, il en reste toujours, c'est si vite fait d'en mettre un en tapant les commentaires... (même s'il est vrai qu'il faudrait passer aussi à l'anglais)
Merci de ta proposition en tout cas, c'est très sympa de ta part.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

D'accord pour le confidentiel.

supprimer à la main les caractères à la con (il y avai 3 séquences dans tout le fichier).

En revanche tu ne peux pas produire un exemple de fichier avec ces séquences pour pouvoir tester dans le même environnment?

Tu peux mettre le lien en MP.

P.S. J'ai déjà traité des données confidentielle, réçu par des gens sur CCM ;-)), mais je ne peux pas te dire de la part de qui et quoi j'ai traité ;-)
0