Je viens de commencer je vais mettre a jour le sujet en fonction de mes découvertes
Déjà au moment de la décompression le header est detruis
Si j'ai bien compris le header est délimité par les zero bytes je ne sais pas encore si ca taille est statique, je ne suis pas doué en C je peux aussi affirmer qu'il y a pas de chiffrage de type blowfish
Apres avoir retiré le header le decompresseur traite deux bytes par deux bytes tant qu'il y en a a traiter
Pour le premier octet la fonction getbits(1) retourne true donc le 1er octet sera le resultat de getbits(16) dans le ca contraire ca aurais été le résultat de common[getbits(6)] (common contiens un octet du fichier par occurrence).
Le resulat de getbits(16) est "18f0" donc le fichier commence par 18f0
Pour le 2nd octet le resultat de getbits(1) est toujours vrais donc le 2nd octet sera en principe 1e01 mais en realité j'ai 9fe5, peux être un problème de position
La je suis trop crevé je vais me coucher, j'espere pouvoir reécrire l'algo de décompression et aussi l'inverser, je vais peux etre modifier l'extraction pour conserver le header dans un autre fichier