51 votes

Existe-t-il un décompilateur de Visual Basic 6 ?

J'ai perdu le code source d'un projet que j'ai réalisé pour l'entreprise pour laquelle je travaille et je n'ai pas réussi à trouver un décompilateur Visual Basic 6 ; cela existe-t-il vraiment ?

Je n'ai que l'EXE que j'ai sauvé de la machine d'un utilisateur.

3 votes

Un des plusieurs duplicate questions sur les décompilateurs VB6

28voto

Konrad Rudolph Points 231505

Pour le code final et compilé de votre application, la réponse courte est "non". Différents outils sont capables d'extraire différentes informations du code (par exemple, la configuration des formulaires) et il existe des décompilateurs de code P (voir l'excellent lien d'Edgar pour de tels outils). Cependant, à ce jour, il n'existe pas de décompilateur pour le code natif. Je ne suis pas non plus au courant de quelque chose de similaire pour les autres langages de haut niveau.

22voto

EdgarVerona Points 1038

http://www.program-transformation.org/Transform/VisualBasicDecompilers

Ce lien fournit beaucoup de ressources pour la décompilation VB6, mais il semble que cela dépende beaucoup de ce que vous avez (avez-vous toujours le code objet pré-link [EDIT : er... p-code je veux dire], ou juste l'EXE ?) Quoi qu'il en soit, il semble qu'il y ait quelque chose, regardez là-dedans.

0 votes

Désolé pour le drapeau mais beaucoup de liens dans cette réponse sont pour télécharger un virus.

17voto

Jonathan Williams Points 885

J'ai utilisé VB Decompiler Lite ( http://www.vb-decompiler.org/ ) dans le passé, et bien qu'il ne vous donne pas le code source original, il vous donne beaucoup d'informations telles que les noms des méthodes, certaines chaînes de variables, etc. Avec plus de connaissances (ou avec la version complète), il est possible d'obtenir encore plus que cela.

2 votes

Celui-ci était pratique pour moi - il produisait tout un tas de code ressemblant à de l'assembleur ; mais je cherchais les chaînes de caractères et elles étaient faciles à extraire du code décompilé.

0 votes

Oui, moi aussi j'étais à la recherche de chaînes "codées en dur", et cet outil m'a vraiment aidé.

1 votes

C'était génial, et exactement ce que je cherchais. Merci !

10voto

Avez-vous essayé l'outil nommé VBReFormer ( http://www.decompiler-vb.net/ ) ? Nous l'avons beaucoup utilisé l'année dernière afin de récupérer le code source de notre application (code source que nous avions perdu il y a 6 ans) et cela a bien fonctionné. Nous avons également pu effectuer quelques modifications de l'interface utilisateur directement à partir de vbreformer et les enregistrer dans le fichier exe.

1voto

BRNDR Points 11

Dans ma propre expérience où j'ai eu besoin d'essayer de découvrir ce que faisaient certains vieux programmes VB6, je me suis tourné vers Process Explorer (Sysinternals) . J'ai fait ce qui suit :

  1. Exécuter l'Explorateur de processus
  2. Exécuter VB6 .exe
  3. Localisez exe dans l'Explorateur de processus
  4. Cliquez à droite sur le processus
  5. Vérifiez l'onglet "Cordes".

Il ne montrait pas les fonctions réelles, mais il listait leurs noms, les dossiers d'où et vers lesquels les fichiers étaient copiés et, s'il accédait à une base de données, il affichait également la chaîne de connexion. C'est suffisant pour vous aider à vous faire une idée, mais cela peut être inutile pour des programmes complexes. Les programmes que je regardais étaient assez basiques (sans jeu de mots).

YMMV.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X