SEMI VB DECOMPILER

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 2 sept. 2004 à 22:57
hammam1982 Messages postés 1 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 6 novembre 2005 - 6 nov. 2005 à 11:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/25897-semi-vb-decompiler

hammam1982 Messages postés 1 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 6 novembre 2005
6 nov. 2005 à 11:02
thx
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
5 oct. 2005 à 16:22
La vache, bravo, quelqu'un qui s'est bien inspiré de mon code! mais merci pour les crédits :(

démonstration : modAsm c'est mon unASM.bas de mon analyseur exe vb6 dispo sur ce site. VB6_APIDEF c'est mon taf aussi, il a enlevé les crédits et copier des subs (au nom près)... Certaines présentation sous treeview des anaylses API sent le copié collé violent... et plein de petites choses encore.

'modAsm
'Purpose - SubMain Disassembly
'------------------------------------------
'vbgamer45 - tired to translate somethings from French.
'but its not really needed.

ca fait super, vraiment super plaisir d'etre "somethings from French".

Enfin bon, apparament c'est déjà du repris de repris ce qui explique que mon nom ai disparu. Et puis je peux pas lui en vouloir d'avoir utiliser le code, intégrer plein d'autres sources (l'analyse COM ou décompilation PCode par exemple), fait une superbe interface avec couleur et tout et tout :)

hey vbgamer45, please check this out :
http://www.vbfrance.com/code.aspx?ID=8258
check also the date when it was posted on vbfrance :) it seems that this old chunk of project made his way around the world !
racattac13 Messages postés 62 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 14 février 2010
30 sept. 2005 à 03:07
salut
bon boulot
a plus
cs_rafanel Messages postés 21 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 8 mars 2012
30 août 2005 à 13:12
trés bon travail

mais pourquoi ne vois ton pas le code?

même des moules?

pourquoi cette question:
et bien, j'ai perdue un de mes modules de mon projet mais j'ai une version compiler donc je cherche un moyen de récuper le code de ce module ?

merci d'avance si vous avez une solution.
TR
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
3 juin 2005 à 16:54
Salut a tous ! Je vient vous signaler une nouvelle adresse pour télécharger VBReFormer qui décompile presque le code natif :). L'adresse pour le decompiler VB est: http://www.decompiler-vb.net/.

Une version 4.2 pro a vu le jour et je vous la présenterez bientôt en video !

Bonne visite,

Sylvain Bruyere
cs_superfredo Messages postés 1 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 6 novembre 2004
6 nov. 2004 à 02:35
Slt warning !!
Toujours aussi voir ce reversing en VB..
La version 4.1(il me semple) pro doit vraiment décoiffer
Bonne continuation et merci de nous pondre des trucs aussi fort !!
fred
vbgamer45 Messages postés 3 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2004
6 sept. 2004 à 19:28
Je signale également des dégagements de current/new à cet emplacement d'abord. Version d'Exe seulement aucun code source http://www.projectxonline.net/data/mydecompiler/files/SemiVBDecompilerLatest.zip

vbgamer45
cs_Benouille Messages postés 215 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 7 septembre 2007
6 sept. 2004 à 17:48
je suis totalement super d'accord avec toi ennixo (je ne jette pas la pierre a Warning, soyons clairs).
Et puis quand les ordures s'amoncellent dans la rue c'est un probleme d'hommes pas de compétences (enfin je me comprends)

Pour la décompilation je tombe des nues car je pensais ça tout à fait possible en vb.net voire meme compiler du vb et le redécompiler en c# (au comentaires et noms de variables pret, cela va de soi) ... enfin comme en assembleur quoi.

et sinon

SUPER VBGAMERS, BON GOOD TRAVAIL JOB, HOW YOU DO COMMENT FAITES VOUS TO BE ALWAYS AT THE TOP POUR ËTRE AUSSI FORT, BRAVO CE FUT UNE BELLE COURSE WELL DONE IT WAS A GOOD RACE ;)

Nelson Benouille.
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
5 sept. 2004 à 07:14
@ Afyn :

pour charger une dll en mémoire tu peux utiliser l'API LoadLibrary. comme ça plus de délai supplémentaire lors du premier appel.
vbgamer45 Messages postés 3 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2004
5 sept. 2004 à 01:12
Well I am learning more things about PCode and translating it back to vbcode. Check decompiler.theautomaters.com for more information
Thank you all for your support and replies

Puits j'apprends plus de choses au sujet de PCode et les traduis de nouveau au vbcode. Le contrôle decompiler.theautomaters.com pour plus d'information vous remercient tout de votre appui et réponses
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
4 sept. 2004 à 22:59
--> EB

Si ca doit pédaler vite ... c'est bien de l'avoir en mémoire.
Je sais pas comment win gère les appels, mais des fois les temps d'éxécution varie, surtout la première fois ou tu éxécutes une fonction, parés si tu la rapelles, elle doit etre chargé et le temps d'éxécution diminue.
Ou alors faudrait forcer win a charger les dll dont on a besoin en mémoire et les y laisser ...

Enfin ... ce que j'en pense moi !

Yop
Afyn
Navedac
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
4 sept. 2004 à 11:01
ennixo> Je suis d'accord sur le partage la preuve je suis ICI ;). En même temps il faut savoir donner de la valeur a son travail car si c'est pas toi qui le fait d'autre prendrons ton idée et en ferons ce qu'il en veulent pour en tirer la gloire. Il faut savoir doser la chose c'est comme tout il faut du noir et du blanc pour créer des nuance seulement un monde tout gris c'est pas drole non plus.

Afyn>Une dll ce n'est rien d'autre qu'un fichier EXE c'est une page de donnée avec des zones de code et des zones de donnée pour executer une fonction la DLL a besoin de ses données et pour simplifier la tache du loader il map tout le fichier en memoire car si la Fonction 1 appel la fonction 2 qui elle meme appel la fonction 3 etc... ce n'est pas gerable. Pour dumper la fonction pas besoin de la charger puisque son point d'entrée est connu que ce soit en execution ou non donc avec un desassembleur rien de plus simple la difficulté c'est de traduire l'asm pour extraire les données du code c'est la que les technique divergent.

Dans le cas de vb et sa machine virtuelle meme si on arrivais a ce passer de la dll le probleme serait le meme trinbaler les 1.5Mo de cette dll dans l'exe car le code manquant doit forcement etre executé. A savoir si il est preferable de faire des exe avec une dll partagé par tout les utilisateur ou plusieurs gros exe different.

@+
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
4 sept. 2004 à 10:46
réponse à ton sondage :
sa syntaxe est à la fois son point fort et son point faible, elle permet de créer très rapidement des trucs qui prendraient des lustres en c++ par exemple et est très compréhensible (c'est quasi de l'algorithmique pure, enfin j'en ai jms fait en anglais mais en traduisant) mais elle a quand même certaines limitations qui toutefois (en ce qui me concerne en tt cas) ne sont pas bien graves.

son compilateur, contrairement à ce que beaucoup ont tendance à dire, permet de créer des programmes super rapides (exemple: effets sur des images aussi rapides que photoshop).

donc pour moi sa force c'est les 2 :)
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
4 sept. 2004 à 10:30
Woua... ! Le débat d'idées ...

Je peux donner mon avis ? lol !

Peut être que personne ne détient la vérité hein ?

Moi je pense que si vous ètes venus vous exprimer
à cet endroit, c'est que vous zétes tous des gens
sympas qui valent le coup.

Soignez donc, votre travail et vos valeurs les plus chères !

Question :
Si tu apelles une fonction d'une DLL ...
Tu charges en mémoire cette fonction (a quel endroit ?)
seulement, ou tu charges toute la DLL ?
Si la fonction est chargée en mémoire et que l'on connais l'adresse ... On doit pouvoir la dumper non ?

Peut etre aussi la décompiler et la transformer en asm.

Et puis réutiliser tout ca ...
Je connais pas assez Windows, c 'est dommage, et ses mécanismes, mais bon ca doit pas etre aussi compliké que ce qu'on imagine.

Sondage :
Ce qui fait la force de VB6 c'est :
1 - Sa syntaxe ?
2 - Son Compilateur ?

Bon week end à tous et merci pour votre entousiasme.

Afyn
Navedac
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 sept. 2004 à 08:52
Faut bien manger ;-)
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
3 sept. 2004 à 23:49
ouais je comprends tout à fait le fait que Warning veuille garder précieusement son travail !

mais je ne pense malgré tout que l'open tout est plutôt positif car si on y regarde, on fait + avancer les choses en partageant plutôt que si chacun cherche la même chose de son coté.

d'autre part, maintenir les gens dans l'ignorance c'est le principe de la religion et en ce moment la religion ça met un peu le bazar, bref c'est pas la question, ce que je veux dire c'est que si les hommes avaient su qu'il est beaucoup plus utile de construire des laboratoires de recherche, des observatoires, etc... au lieu de construire des églises et autres nous serions peut-être beaucoup plus avancés technologiquement...

réfléchissez-y.
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
3 sept. 2004 à 23:03
Merci du soutien :) lol je verrais peut etre qu'a l'avenir je balancerais de la doc sur la decompilation .
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 sept. 2004 à 22:59
Quand tout est gratuit c'est qu'il n'y a plus que des clochards trop faineants pour bosser. On finit avec des tickets de rationnement devant des magasins vides.
Warning bosse, normal qu'il gagne sa vie de son travail.
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
3 sept. 2004 à 22:07
Chacun a le droit de proteger son travail c'est tout a fait naturel. Tout travail merite salaire de plus Warning distribue aussi certain de ses travaux sans demander son reste. C'est l'open "tout" qui nous monte a la tête.

Et puis regardez ça fait emergé de nouveau profile

Congratulation vbgamer ;)

@+
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
3 sept. 2004 à 20:51
Effectivement vbreformer est payant et j'en suis désolé, j'aurais vraiment aimé le laisser libre mais quand j'ai commencé j'avais 14ans et maintenant j'en ai 18, et le besoins d'argent se fait ressentir pr les etudes, etc. Bref, si qqn me sponsorise je pourrais le mettre free et opensource :P mais on peut toujours rever lol

sinon pour eliminer les dll il fo comme tu le dit, incorporer les fonctions 'alternatives' dans l'exe. Une sorte de fusion entre la DLL et l'exe, mais pas un package. Et je ne crois pas que ça existe, mais comme tout est possible ... .°)
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
3 sept. 2004 à 20:23
Eh bien du coup, je retire ce que j'ai dit plus haut ;)
Chapeau Warning, mais c'est vrai que non seulement c'est payant, et apparament pas au point, mais en plus c'est pas open, donc pas cool :p
Pour ce qui est de la DLL, c'est pas possible rien qu'avec VB selon moi, car il faudrait tout de même un fichier qui incorpore les routines, à moins que l'on ai un programme qui ralonge l'exe, pour y stocker les routines alternatives, ou y'a encore une méthode plus simple plusieurs fois évoqué, c'est d'utiliser un prog, qui à partir de l'exe et des DLL, fait un autre EXE qui lui extrait tout les fichiers nécessaires et éxcécute ensuite, ou encore mieux, d'éxécuter tout ce petit monde depuis la mémoire, l'exe "refait" n'extrait rien sur le disque mais tout en mémoire, mais ça, j'ai jamais vu. Si ça fait encore comme plus haut avec la decomp, j'ai encore surement tord si j'affirme que sa n'éxiste pas :p
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
3 sept. 2004 à 17:24
Very good work ! And that is my English spoken very far from academic language.
10/10
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
3 sept. 2004 à 17:05
Oui excellent.
Le VB-Decompiler de Warning m'a l'air de fonctionner un peu mieux, nottamment dans la recupération du code mais c'est déjà vraiment pas mal.

Bonne continuation.

++

PS : Je met 10/10
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
3 sept. 2004 à 13:09
lol, ça c un otre projet qui pourrait se faire mais pas grace a la decompilation . N'est pas EB ? ;°)

CT juste pr montre que ce n'est pas impossible la decompilation, contrairement a bon nombre de message posté qui affirme le contraire.

Voila! @+ & bon prog
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
3 sept. 2004 à 13:05
en allant encore plus loin tu pourrais avoir un vb avec encore + de fonctionnalité comme le support des contrôles XP, icônes rgba, etc...

et ainsi avoir un vb6 qui ne serait pas mort car "à jour" et totalement indépendant (comme c++) mais toujours aussi simple (comme vb6).

enfin je m'emporte je crois là...
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
3 sept. 2004 à 13:02
le problème avec vbreformer c'est qu'il est payant et non open source.

tout l'intérêt (en ce qui me concerne) réside dans la compréhension du fonctionnement.

donc vbreformer ne m'interesse pas.
par contre si tu distribuais tes source ça pourrait être super.

tu pourrais aussi proposer comme j'en ai parlé sur une autre source de remplacé tout ce que fait la dll de vb6 par des api windows genre remplacer MSVBVM60.595 de la dll vb6 par MessageBox de user32...
et ainsi nous libérer de la dépendance à cette dll...

car si tu es capable de décompiler du vb6 tu dois logiquement etre capable d'en compiler et donc (je sais ça va loin) de créer une alternative à vb6...

genre "Programmez en VB6 sans besoin de la DLL avec mon logiciel qui ne coute que 1€ (symbolique) !"
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
3 sept. 2004 à 12:20
sinon c'est une très bonne source, un travail d'equipe réalisé par les membres de http://www.vb-decompiler.com/.

;)

bonne continuation

Warning

http://www.decompiler-vb.tk/
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
3 sept. 2004 à 12:15
il est tout a fait possible de decompiler du code natif, je my emploi depuis qqe tps d'ailleur a en créer un. ça decompile deja pa mal de petit truc. Voir exemple:

http://www.vbfrance.com/forum.v2.aspx?ID=277630
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
3 sept. 2004 à 11:44
justement parce que c'est très compliqué... genre récupérer du code machine pour en refaire du VB lolololol... ultra violence !

mais déjà une chose est sure
dim i as long
i = 1

dans le code ou retrouve rien

avec i = &hDEADBEEF
on ne retrouve rien non plus
car i n'est pas utilisé donc il n'est pas dans le code compilé :)

en revanche avec i = 1330334030
suivit de MsgBox i
on peut trouver la chaine de caractère "NIKO" dans l'exécutable (avec un simple bloc-note)

on avance non ? lolol

jme lancerais bien dans cette aventure mais c'est trop compliqué pour moi...
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
3 sept. 2004 à 10:58
En assembleur oui, c'est sur que c'est faisable, on le sais depuis belle lurette, c'est pas nouveau ;)
C'est vrai qu'en refléchissant bien à ce que tu as dit, ça devrait pas etre si impossible, mais l'interprétateur devrait etre d'une complexité à couper le souffle, pourquoi jamais personne n'a vraiment essayé ? Y'a même pas une petite démo qui traite de ça sur le site, j'ai jamais vu d'autre code même pour les autres langages.
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
3 sept. 2004 à 10:52
@ azety25 :
oui je l'ai déjà entendu. mais il est forcément possible de retrouver le code exécuté, même en assembleur.

enfin je ne sais pas comment fonctionne vb mais en analysant par exemple un programme contenant
dim i as long
i = 1
il est surement possible de trouver le code machine qui fait cette opération.
évidement on aura pas le i qui sera remplacé par un registre mais en analysant des codes plus complexes et en donnant des noms de variables aléatoires on peut sûrement reconstituer des morceaux de code.

sinon, je veux qu'on m'explique pourquoi.
;)
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
3 sept. 2004 à 09:44
C'est impossible de récuperer le code source ennixo
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
3 sept. 2004 à 08:40
excellent travail ! on sent qu'il y a de la recherche, c'est bien commenté et c'est très rapide même sur de gros programmes (contrairement à d'autres trucs du genre).

donc je mets 10/10 !

maintenant il faut arriver a récupérer le code source du code natif et après ce sera parfait.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
3 sept. 2004 à 07:55
C'est Google qui a traduit, ou Jean Claude Van Damme ?
vbgamer45 Messages postés 3 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2004
3 sept. 2004 à 06:40
Dites-moi si je disais quelque chose vraiment sourde-muette. Le blâment sur le google. Travailler davantage sur PCode decompiling au code lisible. Merci tout
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
3 sept. 2004 à 06:38
Bon ben moi je mettrai 7/10 à Google pour cette traduction de haute voltige !
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
3 sept. 2004 à 00:38
Effectivement , on le vois dans la syntaxe de tes phrase ,que tu parle pas francais :P
En t-k sa a l'air plutot complet , je te met 8/10.
Je test plus tard.

@++
YoMan64
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
2 sept. 2004 à 23:47
C'EST TROP HOT!!!!
Avec ça, on comprend le principe de l'header PE, des sections, ... c'est trop bien. Je n'ai pas trouvé de bug mais je n'ai pas complètement testé le prog.
Très bon travail!
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
2 sept. 2004 à 22:57
Ca sent le <Warning> a plein nez, foie de canard !!!

Non c'est pas possible c'est un clone de VBReformer j'en reconnais quelques fonctions. Bon ben quoi dire de plus... Bravo...Bravo Warning ! lol

lol bravo vbgamer45

@+
Rejoignez-nous