Décrypter les fichiers image jpg - le programme

Description

Programme permettant de décrypter les fichiers JPG codés dont vous avez égaré la clé de cryptage. Compilez-le, exécutez-le, satisfait ou remboursé ;)...

(Vous aurez apprécié, ou pas, l'en-tête raccoleuse, je ne suis pourtant pas dans le marketing mdr...)

J'ai longtemps hésité avant de vous communiquer ce programme.
En effet, il est l'illustration quasi parfaite de ce qu'il ne faudrait jamais faire.

Je l'ai développé il n'y a pas loin d'une année (ce qui est beaucoup quand on balbutie en Delphi), et retouché légèrement tout récemment.
Je suis parti sur une idée, ce qui en soi-même est plutôt positif...

Mais je n'avais rien planifié d'avance, et il a évolué au fur et à mesure que se présentaient les "difficultés".

Ce qui donne une espèce d'usine à gaz, difficile à maintenir et à améliorer.
Il y a évidemment de grandes maladresses dans le code (ne comptez pas sur moi pour vous dire celles que j'y ai décelées).

Le résultat est néanmoins fonctionnel, comme quoi...

Voilà, il y a quand même quelques trouvailles, que je laisse le soin de découvrir à ceux qui auraient la patiente d'éplucher tout ça...
Je vous le livre en l'état, certains y trouveront sans doute une certaine satisfaction, les autres matière à réflexion (lol).

Sinon, vous compilez (à partir de Delphi 4), et en principe il ne doit pas y avoir trop de bugs.

Mais c'est "relativement" lent. Y a-t'il moyen d'améliorer ? Vaste débat !
Les suggestions dans ce sens nous seront très utiles ! *

Voilà, c'est la suite logique du code que j'ai envoyé récemment traitant du décryptage des fichiers .JPG.
J'ai dissocié les deux, car autant le code pour obtenir la clé de cryptage me paraît tout à fait intéressant, autant ce programme me paraît largement perfectible (ne pas mélanger les genres !)

Avertissement : l'aide est non seulement indigente (c'était un essai), mais également erronnée quand aux bugs décrits, qui concernaient les toutes premières versions (auxquelles vous avez échappé !).

ATTENTION (quand même) : ce n'est pas vraiment grave, mais je vous déconseille vivement de sélectionner la racine d'un disque dur s'il dépasse 40 gigas, voire "Mes documents" s'il sont bien remplis. Sinon, vous avez largement le temps d'aller vous préparer un café pour 6 personnes en attendant l'affichage (connaissant ce problème, je n'ai pas eu le courage d'y revenir, voir la conclusion).

En conclusion :
Voilà l'exemple d'un programme mal fini, quoique relativement fonctionnel, et qui n'aura pas d'évolutions (mieux vaut tout reprendre, à mon avis).
  • MISE A JOUR, VITESSE DÉCUPLÉE ! (le 07-11-03)


Un grand merci à shining qui nous a montré comment utiliser TMemoryStream, en traitant les fichiers par blocs de 4 octets.
Allez voir son source ici :
http://www.delphifr.com/code.aspx?ID=17698
En effet les 4 premier octets d'un fichier .jpg sont la plupart du temps ceci : FFD8FFE0 (très rares exceptions, me semble-t'il).
D'où son idée de chercher la clé sur ces 4 octets, et de traiter les octets par blocs de 4 en utilisant TMemoryStream. Génial !
La vitesse d'exécution par rapport à l'usage de TFileStream (byte par byte) s'en trouve décuplée, au vrai sens du terme !
Son code est légèrement remanié ici pour les besoins du programme, forcément, mais le principe de fonctionnement reste identique.

Source / Exemple :


Dézipper, compiler, exécuter (voir le code en option...)

Conclusion :


Pas de bug grave connu, ce qui est presque étonnant ;)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.