Question

Ainsi, pour me simplifier la vie, je souhaite pouvoir ajouter de 1 à 7 caractères supplémentaires à la fin de certaines images jpg que mon programme traite*.Il s'agit de remplissages factices (remplisseurs, etc. - probablement tous 0x00) juste pour que la taille du fichier soit un multiple de 8 octets pour le cryptage par bloc.

Après avoir essayé cela avec quelques programmes, il semble qu'ils conviennent aux caractères supplémentaires qui apparaissent après le FF D9 qui précise la fin de l'image - il semble donc que le format de fichier soit suffisamment bien défini pour que la « corruption » que j'ajoute à la fin n'ait pas d'importance.

Je peux toujours post-traiter les fichiers plus tard si nécessaire, mais ma préférence est de faire la chose la plus simple possible - c'est-à-dire de les laisser rester (je décrypte d'autres types de fichiers et cela ne les dérangera pas, donc avoir un cas spécial est ennuyeux ).

Je pense qu'avec tous ces discours Stéganographie hullaballo il y a des années, quelqu'un a eu son mot à dire ici...

(traitement du cryptage par blocs de 8 octets, je ne souhaite pas enregistrer la taille du fichier pré-crypté, alors ajoutez 0x00 aux données d'entrée et laissez-les là après le décodage)

Était-ce utile?

La solution

Non, vous pouvez ajouter des bits à la fin d'un fichier jpg, sans le rendre inutilisable.L'en-tête du fichier jpg indique comment le lire, donc le programme qui le lit s'arrêtera à la fin des données jpg.

En fait, les gens ont caché des fichiers zip dans des fichiers jpg en ajoutant les données zip à la fin des données jpg.En raison de la manière dont ces formats sont structurés, le fichier résultant est valide dans les deux formats.

Autres conseils

Tu peux ..mais les résultats peut être imprévisible.

Même s'il y a suffisamment d'informations dans le format pour dire au client d'ignorer les données supplémentaires, ce n'est probablement pas un cas pour lequel le programmeur a testé.

Un programme paranoïaque peut examiner la taille, remarquer l'écart et décider qu'il ne traitera pas votre fichier car il ne le comprend clairement pas complètement.Cela est particulièrement probable lors de la lecture de données sur le Web, lorsque des octets aléatoires dans un fichier peuvent être considérés comme un risque de sécurité.

Vous pouvez intégrer vos données dans la balise XMP dans un fichier JPEG (ou des champs EXIF ​​ou IPTC d'ailleurs).XMP est XML, vous disposez donc d'une assez grande flexibilité pour créer vos propres éléments personnalisés.

Ce n'est probablement pas le cas la chose la plus simple possible mais mettre vos données ici maintiendra l'intégrité du JPEG et ne nécessitera aucun "post-traitement".

Vos données apparaîtront ensuite dans d'autres logiciels d'imagerie tels que PhotoShop, ce qui n'est peut-être pas idéal.

Comme d'autres l'ont déclaré, vous n'avez aucun contrôle sur la manière dont les programmes traitent les fichiers image et, par conséquent, certains programmes peuvent trouver les images valides, d'autres non.

Cependant, il y a ici un problème plus important.À en juger par votre question, je déduire que vous pratiquez la «sécurité par l'obscurité». C'est largement considéré comme une très mauvaise pratique.Utilisez Google pour trouver une multitude d'articles sur le sujet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top