Annonce

Réduire
Aucune annonce.

encodage image

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • encodage image

    Lorsque l'on crée un fichier photo au format PNG JPEG (ou autre, à voir en fonction de chacun), quel est le processus de compression ? (pour les plus connus)
    Cela aboutit à obtenir un raw code, encodé, en base64 par exemple.
    Il existe des tools pour reconstituer une image (rendu graphique) à partir de base64 ou autre.
    Maintenant, si l'on modifie une image, par exemple en traçant un large trait de couleur dessus (communément utilisé pour masquer une information), que ce passe-t-il lors du traitement lorsqu'on l'enregistre ? Soit le logiciel utilisé (y'en a pléiade, à voir en fonction de chacun) réencode toute l'image à partir de 0, dans ce cas c'est impossible, soit il modifie le base64 de l'image en supprimant une partie des caractères et en ajoutant d'autres, dans ce cas c'est impossible également, soit il ajoute des caractères (à la fin par exemple, où à l'endroit en question dans l'image au niveau du texte) qui seront pris en compte lors de la décompression (ouverture/décodage de l'image) en omettant les caractères initiaux (les données que l'on veut retrouver), et dans ce cas il serait possible de repérer (comment ? à définir en fonction du logiciel, mais par exemple en faisant une simple comparaison de 2 fichiers (rawcode)) la zone de caractères ajoutés.
    Il est vrai que cela parait très optimiste, ça serait une belle connerie que d'utiliser la troisième méthode, logiquement c'est la première méthode qui est utilisée (comme bien souvent en informatique, on rase tout depuis 0, au détriment du temps de calcul), mais j'ai un petit doute.
    Avant de m'aventurer dans des tests, si l'un d'entre-vous connait les méthodes de compression et surtout les méthodes utilisées lors d'une modification des données (insertion de la bande), votre savoir serait le bienvenu.
    En fait je viens de me rendre compte que j'aurai mis moins de temps à obtenir cette information qu'à écrire ce texte mais bon, maintenant que c'est fait... !
    sigpic

    Cyprium Download Link

    Plus j'étudie plus j'me rends compte que je n'sais rien.

    †|

  • #2
    Je n'ai pas tout saisi, je vais essayer de te répondre au mieux avec les maigres connaissances que j'ai sur le sujet:

    Lorsque l'on crée un fichier photo au format PNG JPEG (ou autre, à voir en fonction de chacun), quel est le processus de compression ? (pour les plus connus)
    Il faut voir le standard définissant le fichier que tu veux. Généralement, ce sont des algorithmes de compression par dictionnaire.

    Maintenant, si l'on modifie une image, par exemple en traçant un large trait de couleur dessus (communément utilisé pour masquer une information), que ce passe-t-il lors du traitement lorsqu'on l'enregistre ? Soit le logiciel utilisé (y'en a pléiade, à voir en fonction de chacun) réencode toute l'image à partir de 0, dans ce cas c'est impossible, soit il modifie le base64 de l'image en supprimant une partie des caractères et en ajoutant d'autres, dans ce cas c'est impossible également, soit il ajoute des caractères (à la fin par exemple, où à l'endroit en question dans l'image au niveau du texte) qui seront pris en compte lors de la décompression (ouverture/décodage de l'image) en omettant les caractères initiaux (les données que l'on veut retrouver), et dans ce cas il serait possible de repérer (comment ? à définir en fonction du logiciel, mais par exemple en faisant une simple comparaison de 2 fichiers (rawcode)) la zone de caractères ajoutés.
    Souvent le programme ré-encode l'image de zéro, en particulier lorsque l'algorithme de compression utilise un dictionnaire (comme la plupart des algos modernes). Dans ce cas, le contenu du dictionnaire est calculé en fonction des données binaires à compresser. Le fait de changer un seul octet peut engendrer un changement du dictionnaire, donc un changement total du binaire résultant de la compression.

    Si tu veux vérifier, jette juste un coup d'oeuil aux documents qui décrivent le format du fichier, mais à mon avis, tu vas perdre ton temps.

    En revanche, il est peut être possible d’injecter des mots non utilisés dans le dictionnaire. Mais dans ce cas, c'est lié à l'algorithme de compression, pas à l'image.
    Dernière modification par TorTukiTu, 26 juin 2014, 15h13.
    OxyGen Software
    Sécurité, développement, formations, informatique biomédicale
    [email protected]

    Commentaire


    • #3
      Sous linux tu as base64 pour obtenir une image à partir de base64 et vise versa

      base64 logo2.png > fichier.html

      et si tu modifie l'image tu peut en obtenir le thumbbnail (pour le jpg) avec exif ou exif-tool

      man exif

      -e, --extract-thumbnail
      Extract the thumbnail, writing the thumbnail image to the file specified with --output.
      WITHOUT DEVIATION FROM THE NORM, PROGRESS IS NOT POSSIBLE
      -Frank Zappa

      Commentaire

      Chargement...
      X