tag:linuxfr.org,2005:/tags/zip/publicLinuxFr.org : les contenus étiquetés avec « zip »2018-01-10T10:45:13+01:00/favicon.pngtag:linuxfr.org,2005:Diary/376862018-01-04T12:40:03+01:002018-01-04T12:40:03+01:00ZIP et fcrackzipLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonjour à tous,</p>
<p>Je viens de passer quelques heures là-dessus et j'ai envie de partager ça avec vous :)</p>
<p>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é :(</p>
<p>J’ai alors installé et utilisé sans succès le logiciel libre fcrackzip (# <em>apt install fcrackzip</em>), « force brute ».</p>
<p><a href="https://github.com/hyc/fcrackzip">https://github.com/hyc/fcrackzip</a> <br>
Dernier commit en juin 2013 :/<br>
Connaissez-vous ce logiciel ? Est-il obsolète au bénéfice d’un autre ? Lequel ? </p>
<p>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.</p>
<p>J’ai alors téléchargé le code source ($ <em>apt source fcrackzip</em>) et farfouillé dedans à la recherche de réponse et peut-être de solutions.</p>
<p>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.</p>
<p><a href="https://github.com/hyc/fcrackzip/blob/master/main.c">https://github.com/hyc/fcrackzip/blob/master/main.c</a><br>
ligne 208 (301 dans la version Debian)</p>
<pre><code class="C"> <span class="n">strcpy</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">p</span><span class="p">,</span> <span class="s">"!:$%&/()=?{[]}+-*~#"</span><span class="p">);</span>
<span class="n">p</span> <span class="o">+=</span> <span class="mi">18</span><span class="p">;</span></code></pre>
<p>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.</p>
<p>Ensuite, voici ma version :</p>
<pre><code class="C"> <span class="n">strcpy</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">p</span><span class="p">,</span> <span class="s">"!</span><span class="se">\"</span><span class="s">#$%&'()*+,-./:;<=>?@[</span><span class="se">\\</span><span class="s">]^_`{|}~"</span><span class="p">);</span>
<span class="n">p</span> <span class="o">+=</span> <span class="mi">32</span><span class="p">;</span></code></pre>
<p>Je n’ai pas pour l’instant le temps de proposer un correctif :(<br>
Il faudrait d'ailleur modifier la doc', etc. peut-être même prévoir une autre option pour ne pas casser la compatibilité, etc. :(<br>
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 ?</p>
<p>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…</p><div><a href="https://linuxfr.org/users/space_e_man/journaux/zip-et-fcrackzip.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/113439/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/space_e_man/journaux/zip-et-fcrackzip#comments">ouvrir dans le navigateur</a>
</p>
Space_e_manhttps://linuxfr.org/nodes/113439/comments.atomtag:linuxfr.org,2005:Post/370012016-06-26T11:40:00+02:002016-08-11T09:01:48+02:00mk-project un T.D.E (Terminal Development Environment) basé sur make.<p>Salut les <strong>C</strong>/<strong>C++</strong> et <strong>python</strong>s,</p>
<p>je vient vous présenter ma dernière création: <strong>mk-project:</strong> un créateur, gestionnaire, de projets basé sur <strong>make</strong>.</p>
<p><strong>mk-project</strong> permet de créer des projets <strong>C</strong>, <strong>C++</strong>, <strong>python2</strong> et <strong>python3</strong>.</p>
<p><strong>:note:</strong> Ceci est un poste dans le but que vous testiez mon programme afin de voir ce que vous en pensez… </p>
<p>Vos remarques, commentaires, etc… sont chaleureusement la bienvenue.</p>
<p><strong>Ce poste</strong> sert de base <strong>afin d'amélioré le release final</strong> et est une sorte de <strong>pre-release</strong> bien que les fichiers sont déjà packager correctement. </p>
<hr><p><a href="http://www.open-source-projects.net/mk-project/mk-project_presentation.html">+ Page de présentation de mk-project.</a></p>
<p><a href="http://www.open-source-projects.net/mk-project/Documentation/Online/index.html">+ Documentation de mk-project.</a></p>
<p><a href="https://github.com/mrcyberfighter/mk-project">+ github de mk-project.</a></p>
<hr><p><strong>mk-project</strong> permet d'automatiser complètement la <em>compilation</em>, l'<em>exécution</em>, le <em>débogage</em> et l'<em>investigation de code machine</em>, le <em>profilage</em>,…</p>
<p>Mais ce n'est pas tout car <strong>mk-project</strong> permet aussi de générer de la documentation a base de 3 différents langages de balisage:</p>
<ul>
<li><p><strong>texinfo</strong>.</p></li>
<li><p><strong>markdown</strong> (<em>Dans plusieurs dialectes</em>.)</p></li>
<li><p><strong>ReST</strong> (<em>ReSTructured Text</em>)</p></li>
</ul><p>Mais si vous désirez utilisez un moteur de documentation plus avancé, tel que <strong>sphinx</strong>, <strong>doxygen</strong>, ou autres, <a href="http://www.open-source-projects.net/mk-project/Documentation/Online/mk-project_documentation.html#using-others-documentation-tools">la manipulation est facile et bien décrite dans la documentation</a>.</p>
<hr><p><strong>mk-project</strong> permet aussi d'enjoliver votre code grâce aux outils suivants:</p>
<ul>
<li><p><strong>indent</strong></p></li>
<li><p><strong>astyle</strong></p></li>
<li><p><strong>bcpp</strong></p></li>
<li><p><strong>pindent</strong></p></li>
</ul><p>Avec <em>beaucoup de styles prédéfinis</em> mais vous laissant une ouverture afin de complètement personnaliser votre formatage de code source.</p>
<hr><p><strong>mk-project</strong> permet de <em>créer une archive de votre projet</em> au format suivants:</p>
<ul>
<li><p><strong>tar</strong></p></li>
<li><p><strong>tar.gz</strong></p></li>
<li><p><strong>tar.bz2</strong></p></li>
<li><p><strong>zip</strong></p></li>
</ul><hr><p>Et <strong>mk-projec</strong>t permet aussi bien d'autres choses…</p>
<p><strong>mk-project</strong> est disponible sous forme <a href="http://www.open-source-projects.net/mk-project/Download/py/download_mk-project_deb.cgi">de paquetage debian</a> et d'<a href="http://www.open-source-projects.net/mk-project/Download/py/download_mk-project_tarball.cgi">archive tar.gz</a>.</p>
<p><strong>:note:</strong> Une fois installer vous pourrez <strong>hacker</strong> le code grâce au <em>Makefile</em> contenus dans le dossier de destination (habituellement <em>/usr/local/share/mk-project</em>).</p>
<p><strong>.. warning::</strong> </p>
<p><strong>mk-project</strong> a pas mal de dépendances entre autre la bibliothèque <strong>libvte-2.91</strong> qui vient d'apparaître dans les dépôts remplaçant l'ancienne version <strong>libvte-2.90</strong> <br>
sur laquelle <a href="http://www.open-source-projects.net/IT-Edit/IT-Edit_presentation.html">mon éditeur de texte a terminaux intégrées it-edit (Integrated Terminals Editor)</a> est basé (sniff !).</p>
<hr><p>Ne vous inquiétez pas trop pour les nombreuse dépendances, car elle, sont optionnelles dans le programme.</p>
<p>Dans le tarball elle sont pour la plupart optionnelle et dors et déjà sans doute déjà installer sur votre machine, pour la plupart. </p>
<hr><p>Dépendances de <strong>mk-project</strong>:</p>
<ul>
<li><p>libgtk-3-dev</p></li>
<li><p>libvte-2.91-dev</p></li>
<li><p>libxml2-dev</p></li>
<li><p>pandoc</p></li>
<li><p>python(3)-docutils</p></li>
<li><p>texinfo </p></li>
<li><p>xdg-utils</p></li>
<li><p>findutils</p></li>
<li><p>libc-bin</p></li>
<li><p>binutils</p></li>
<li><p>bsdmainutils</p></li>
<li><p>indent</p></li>
<li><p>astyle</p></li>
<li><p>bcpp</p></li>
<li><p>gettext </p></li>
<li><p>make </p></li>
</ul><p><strong>P.S:</strong> Je suis ouvert a toute formes de critiques <strong>mais</strong> j'ai conçus cet outil pour des besoins personnels et si je le distribue c'est parce que je pense qu'il peut être utile a d'autres (les utilisateurs de <strong>vi</strong> et compagnie vont être ravis).</p><div><a href="https://linuxfr.org/forums/programmation-c/posts/mk-project-un-t-d-e-terminal-development-environment-base-sur-make.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/109344/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmation-c/posts/mk-project-un-t-d-e-terminal-development-environment-base-sur-make#comments">ouvrir dans le navigateur</a>
</p>
Linuxatorhttps://linuxfr.org/nodes/109344/comments.atomtag:linuxfr.org,2005:Post/333682013-11-25T12:39:45+01:002013-11-25T12:39:45+01:00Créer une archive zip de 2Go en modifiant les chemins dans l'archive<p>Bonjour, voilà le message que j'ai publié sur développez dernièrement :</p>
<blockquote>
<p>Bonjour,</p>
<p>J'ai un problème avec la classe ZipArchive et je ne suis visiblement pas le seul à avoir…</p>
<p>Je dois créer une archive à partir de plusieurs (272 dans le cas qui a fait planter mon appli) fichiers images dont je construis le chemin du fichier d'origine et celui dans l'archive à partir des infos contenues dans une base de données (donc un exec zip n'est pas possible en l'état).<br>
Comme j'en ai pour plus de 2Go, ZipArchive me laisse une archive temporaire d'environ 500Mo et le script plante sans envoyer d'erreur.</p>
<p>J'ai même essayer de faire un $zip->close(), $zip->open($zippath) tous les 10 fichiers, mais comme il charge tout le fichier à l'ouverture je me retrouve avec le même problème.</p>
<p>Existe-t-il une alternative à ZipArchive me permettant d'ajouter mes fichiers les uns après les autres dans mon zip sans charger l'ensemble en mémoire ? </p>
</blockquote>
<p>Ne trouvant pas de solution en PHP, je vais tenter en lignes de commande avec exec.<br>
la commande zip ne le permet pas directement, il faudrait que j'utilise zipnote à chaque fois pour renommer le fichier dans l'archive ; ce qui ne serait pas forcément un problème s'il zipnote pouvait gérer des archive de plus de 2 Go… Ce qui n'est pas le cas d'après la doc.</p>
<p>Connaissez-vous une solution alternative ?</p><div><a href="https://linuxfr.org/forums/linux-general/posts/creer-une-archive-zip-de-2go-en-modifiant-les-chemins-dans-l-archive.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/100471/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/creer-une-archive-zip-de-2go-en-modifiant-les-chemins-dans-l-archive#comments">ouvrir dans le navigateur</a>
</p>
Raphaël MICHELhttps://linuxfr.org/nodes/100471/comments.atomtag:linuxfr.org,2005:News/256032009-06-15T16:10:51+02:002009-06-15T16:10:51+02:00Le Référentiel Général d'Interopérabilité enfin publié, mais...<div>Le Référentiel Général d'Interopérabilité (RGI) vient d'être officiellement publié. S'il contient des points très positifs, il montre aussi de très nombreuses et sévères régressions par rapport aux versions antérieures. En particulier, à part une dizaine de règles triviales, le RGI n'impose plus rien : aucune norme, ni aucun standard n’est interdit, ni déconseillé (page 7/119), contrairement à l'ancienne version (page 6/105) où l'on avait une graduation de quatre niveaux allant d'obligatoire à interdit.
<br />
<br />
L'un des points les plus attendu est le statut des formats <a href="http://fr.wikipedia.org/wiki/ODF">ODF</a> et <a href="http://fr.wikipedia.org/wiki/OOXML">Open XML</a>. On le trouve page 61 où l'on peut lire :
<br />
<i>... il est RECOMMANDÉ d’utiliser un format de document basé sur le langage XML et dont les spécifications sont normalisées par l'ISO.
<br />
... Le format Office Open XML est un format bureautique basé sur XML. Il supporte nativement une partie des formats binaires bureautiques existants. Il n’existe pas à ce jour d'implémentation de cette norme.</i>
<br />
Ceci est fort différent de l'ancienne version : <i>Il est INTERDIT de faire une migration depuis le format bureautique couramment utilisé par une organisation, vers un format autre que le format ouvert Open Document.</i>.
<br />
<br />
On pourra retenir à l'actif de ce document l'avant propos sur l'<a href="http://fr.wikipedia.org/wiki/interopérabilité">interopérabilté</a> bien qu'il soit en retrait par rapport à la définition de Wikipedia. Toujours dans les bons points, à la fin de l'avant-propos, on évoque une convergence avec l'<a href="http://ec.europa.eu/idabc/en/document/7728">IEF (European Interoperability Framework)</a> dont le but est d'obtenir l'interopérabilité des systèmes d'information européens.
<br />
<br />
Il existe quelques règles triviales qui reviennent à enfoncer des portes ouvertes. Elles imposent les protocoles internet universellement adoptés : courrier (SMTP, MIME, POP3 ou IMAP pages 75-77), annuaire LDAP, IPv4.NTP, HTTP... Enfin, on pourra remarquer que Vorbis et Flac ne sont pas (encore) recommandés, que Zip est le seul format de compression connu et que le XML est recommandé en laissant dans le flou la structure de son contenu.
<br />
<br />
Pour terminer, on pourra regretter que la rédaction du RGI ne soit plus assurée par des fonctionnaires compétents mais sous-traitée, ce qui revient aussi à sous-traiter les compétences.</div><ul><li>lien nᵒ 1 : <a title="http://www.references.modernisation.gouv.fr/rgi-interoperabilite" hreflang="fr" href="https://linuxfr.org/redirect/62700">RGI et interopérabilité</a></li><li>lien nᵒ 2 : <a title="http://www.references.modernisation.gouv.fr/sites/default/files/RGI_Version1%200.pdf" hreflang="fr" href="https://linuxfr.org/redirect/62701">RGI_Version1.0 (PDF ; 2,8 Mo)</a></li><li>lien nᵒ 3 : <a title="http://pjarillon.free.fr/rgi/" hreflang="fr" href="https://linuxfr.org/redirect/62702">Accès à l'ancienne version du RGI</a></li><li>lien nᵒ 4 : <a title="http://linuxfr.org/2008/04/03/23932.html" hreflang="fr" href="https://linuxfr.org/redirect/62703">DLFP : La guerre des formats de bureautique normalisés ISO commence</a></li><li>lien nᵒ 5 : <a title="http://linuxfr.org/2008/04/17/23971.html" hreflang="fr" href="https://linuxfr.org/redirect/62704">DLFP : La normalisation de OOXML relance le RGI</a></li><li>lien nᵒ 6 : <a title="http://linuxfr.org/2007/01/25/21968.html" hreflang="fr" href="https://linuxfr.org/redirect/62705">DLFP : Retard inquiétant du RGI. Qui est-ce qui le bloque ?</a></li></ul><div></div><div><a href="https://linuxfr.org/news/le-referentiel-general-dinteroperabilite-enfin-publie-mais.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/24649/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/le-referentiel-general-dinteroperabilite-enfin-publie-mais#comments">ouvrir dans le navigateur</a>
</p>
Pierre Jarillonhttps://linuxfr.org/nodes/24649/comments.atom