URL: https://linuxfr.org/users/space_e_man/journaux/zip-et-fcrackzip Title: ZIP et fcrackzip Authors: Space_e_man Date: 2018年01月04日T12:40:03+01:00 License: CC By-SA Tags: zip, fcrackzip, debugging et chiffrement Score: 21 Bonjour à tous, Je viens de passer quelques heures là-dessus et j'ai envie de partager ça avec vous :) J’ai récemment retrouvé une vielle archive au format ZIP datant de 2004, une époque à laquelle j’utilisais encore, mais plus pour longtemps, le système d’exploitation privateur Windows de Microsoft. Il s’avère que je l’aurais apparemment protégé avec un mot de passe ... que j'ai oublié :( J’ai alors installé et utilisé sans succès le logiciel libre fcrackzip (# _apt install fcrackzip_), « force brute ». https://github.com/hyc/fcrackzip Dernier commit en juin 2013 :/ Connaissez-vous ce logiciel ? Est-il obsolète au bénéfice d’un autre ? Lequel ? Dans le manuel, j’ai remarqué qu’il manquait certains caractères ASCİİ dans les jeux proposés (option -c). Mais il n’était rien précisé quant au jeu par défaut. J’ai alors téléchargé le code source ($ _apt source fcrackzip_) et farfouillé dedans à la recherche de réponse et peut-être de solutions. Dans un premier temps, il m’a été facile de déceler un bug, probablement inconnu et aussi d’étendre le jeu de caractère par défaut à l’ensemble ASCİİ complet. https://github.com/hyc/fcrackzip/blob/master/main.c ligne 208 (301 dans la version Debian) ```C strcpy ((char *) p, "!:$%&/()=?{[]}+-*~#"); p += 18; ``` Erreur ! Car il y a 19 caractères ! J’ai testé, et effectivement, un mot de passe tel que A#2 est introuvable contrairement à A~2. Ensuite, voici ma version : ```C strcpy ((char *) p, "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"); p += 32; ``` Je n’ai pas pour l’instant le temps de proposer un correctif :( Il faudrait d'ailleur modifier la doc', etc. peut-être même prévoir une autre option pour ne pas casser la compatibilité, etc. :( J’aimerais avoir votre avis également avant d'envisager de consacrer du temps pour cela, car si ça se trouve, c’est inutile car obsolète ou déjà une autre version ailleurs, etc. Qu’en pensez-vous ? Il y a d’autres problèmes tels que la version ou le type de fichier ZIP, l’algorithme de chiffrement, etc. J’ai pas trop investigué car le fichier en question date de 2004 et je penses pas que ce soit dépassé par fcrackzip de 2013. Mais s’il fallait "refaire" fcrackzip, je le ferais en C++ et il faudrait prévoir les différents formats et algo’ de chiffrement...