|
Cracker Wingdis 2.12 |
f | Merci à la page de reverse engineering de Fravia |
Intro |
Dernièrement j'ai téléchargé ICQ version java, car je voulais le decompiler (Imaginez les possibilitées!) J'ai essayé de le décompiler avec Mocha, mais malheureusement ça n'a pas marché (Mocha est une Beta,et il le sera toujours, c'est triste, l'auteur est mort) En cherchant d'autres désassembleurs j'ai trouvé WingDis Le rendu est un peu inférieur à celui de Mocha, mais il peut désassembler tous les programmes java que j'ai essayé, et il est sans cesse amélioré Ce programme est limité à 5 jours d'utilisation! Dans ce cours je montrerai comment j'ai patché WingDis. |
Outils Requis |
IDA Hex Editor(Puis-je suggérer UltraEdit?) ~ Cible: WingDis, disponible à http://www.wingsoft.com |
Historique du prog |
Sans intérêt (Je n'étudie l'historique que des cibles difficiles...) |
L |
Cherchez le texte "trial" dans toutes les classes du répertoire de wingdis. Le seul fichier contenant ce texte est, ClassReader.class, c'est donc notre première cible. Evidemment la première chose à essayer est d'utiliser Wingdis sur lui même afin de décompiler ClassReader. "Sorry, WingDis is not allowed to decompile itself." (N.d.T : "Désolé, WingDis n'est pas autorisé à se décompiler" ) Chouette! Une autre chose à cracker! Cracker une limite de temps est toujours ennuyeux, donc crackons cela d'abord! Permettre WingDis de se décompiler Mocha ne fonctionne pas, alors utilisez IDA avec ClassReader.class, et cherchez "trial" à nouveau.
Virer la limite de temps Exécutez WingDis sur lui-même, et cherchez dans le code source où s'effectue la vérification de la date:
afin de toujours sauter vers le troisième if. Cherchez dans IDA "sorry", et vous arrivez ici: pleurer! Quand est-ce-que les programmeurs apprendront? Changer les commentaires du début de chaque page Au début de chaque page désassemblée, il y a un commentaire: // This program is generated by WingDis 2.12 Trial Version, a product from WingSoft // For more information about WingSoft, please visit http://www.wingsoft.com Je voulais garder un commentaire ici(Ainsi je peux savoir ce que j'ai, écris et ce que j'ai décompiler), mais je n'aime pas être ennuyé par des stupidités. C'est simple à arranger, éditer ClassReader.class avec un éditeur hexadécimal et changez le texte (Les programmeurs sont sympas de mettre toute leur protection dans un seul fichier pour nous!) Pour rendre les chose faciles, ne changer pas la longueur des commentaires, changez seulement le texte : // This source code was decompiled using WingDis 2.12 ALT-F4_HCU Version //********************************************************************** Appendix A:Java Opcodes Voici un court listing des Java Opcodes que j'ai trouvés en parcourant le source. Cmnd Opcode Hex ifge 156 xxx xxx :9c iflt 155 xxx xxx :9b Goto 167 xxx xxx :a7 ifieq 159 xxx xxx :9f Call 182 xxx xxx :b6 Pour un listing plus complet, allez à : http://www.palenaka.com/~palenaka/que/quebooks/sej2e/36javafi.htm (c) +Alt-F4 9 Jan 1998 All rights reversed. Traduit par Jordan_Jr (Jordan_Jr@nym.alias.net) |