ANALYSEUR D'EXECUTABLES VB6 (BETA RELEASE)

cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008 - 17 août 2003 à 20:39
hackalexandres32 Messages postés 37 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 3 novembre 2008 - 30 mars 2008 à 07:33
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/8258-analyseur-d-executables-vb6-beta-release

hackalexandres32 Messages postés 37 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 3 novembre 2008 1
30 mars 2008 à 07:33
très bien fai je me suis servi pour trouver la password d'un fichier exe (vb) que javais depuis longtemps pi sa a marcher #1 !!
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
12 avril 2006 à 06:41
perso j'adore et je dit chapeau ^^ j'espere que tu continueras bien cette source car apparement beaucoup de gens en attendent enormement sinon moi j'aime bien meme si je ne comprend pas completement le code ^^ sinon un ptit 9 s'impose (car on ne peut jamais atteindre la perfection comme on dit une oeuvre n'est jamais achevee mais juste abandonnee ;-)) allais bonne continuation ^^
cs_zappy Messages postés 161 Date d'inscription mardi 19 juin 2001 Statut Membre Dernière intervention 10 avril 2007 2
28 févr. 2006 à 13:10
Excellent !!!
Tu viens de me retirer une epine du pied... a savoir comment debugger un programme sans les sources (perdues) :(
StrRef => de la balle :D

Ca vaudrait le coup de packager un peu mieux le logiciel pour le rendre plus pro et le distribuer ;)

Tres bonne continuation a toi
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
14 janv. 2006 à 15:53
lol a mon avis c'est plutot VBReFormer :) faut que tu le vois en actions... tu as msn messenger ? Si oui envoi moi un MP.
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
14 janv. 2006 à 12:19
le truc le plus avancé qui soit un soft, a ma connaissance, c'est vbde : il arrive parfois a recréer une (petite) partie du code -le compilo vb6 a tendance a toujours faire la même chose- Il retrouve et associe les subs aux objets (genre command1_click, command1_mousedown) -ce que j'essaye en ce moment de faire- ...
Et ce truc date de 2002...
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
14 janv. 2006 à 10:13
Ce doit sans doute n'être qu'une legende urbaine :)
aghoulias Messages postés 2 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 9 janvier 2006
14 janv. 2006 à 01:26
j'ai entendu d'un decompilateur visual basic 6
il décompile le tout meme le code source
le nom du logiciel : unzipexevb
si quequ'un le trouve nous donne le lien pour telechargement
et pour mettre fin à ce problème
merci et bon courage
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
26 déc. 2005 à 16:31
bravo ! 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
5 déc. 2005 à 21:00
Tu pouvais laisser surtout que c'était ta propre source pour la récupération des objets, pour ça je n'ai pas plus de droit que toi :).En tout cas tu es honnete contrairement à ce cher vbGamer. :)
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
1 déc. 2005 à 18:00
Pile poil 11 mois plus tard, vla une grosse mise à jour. j'ai ressenti le besoin de faire quelque chose de potable : je vois a gauche a droite des programmes pour VB bien fait, je voudrai pas être en reste :)

Avant tout flame : j'ai retravaillé du code déjà existant. Pour éviter des problèmes de droits d'auteur, je précise que Warning a antériorité sur la récupération des objets (form,textbox,etc) et j'ai donc désactivé ma partie du code qui était équivalente (c'est de toute façon pas le but de cette source)
En revanche aucuns éléments du code de cette source n'as été sauvagement pompé de sources extérieures... jprécise car j'ai vu l'inverse :) z'avez le droit bien sûr, mais laissez les copyrights svp!
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 à 17:01
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
janci Messages postés 2 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 31 janvier 2005
31 janv. 2005 à 14:45
thank you man ...
I don't understand french but i translate your message :-). Ok i look on the source maybe i found something that i need to know :-)
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
31 janv. 2005 à 13:31
Salut les gens!
Merci pour vos remarques !
au dernier update je nevoulais pas poster le memwork.cls parce que c'etait *limite* de faire la manip pour décompresser les PE EXE -- et aussi que je voulais poster une super source qui l'utilisai -- et que memwork.cls ne marche pas aussi bien qu'esperé...

Vu que j'ai laisser tombé le coding, je vous refait un pack zip avec tout ce bordel en vrac.

désolé j'ai plus le temps de toucher a cette source, et j'oublie de plus en plus comment elle marche ---
M'enfin l'entrée des subs et functions c'est la liste peu après le debut du code hard (offset 1000h) il y a un descriptif et un pointeur vers le code compilé plus loin dans l'exe... voila m'en suis arrété a déterminer la structure de cette liste ...
janci Messages postés 2 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 31 janvier 2005
31 janv. 2005 à 10:06
I think in sources are missing MemWork.cls, can you add it to zip or post it somewhere ?
Welsoft Messages postés 11 Date d'inscription jeudi 11 novembre 2004 Statut Membre Dernière intervention 28 décembre 2004
28 nov. 2004 à 20:32
woooooooooooow le meilleur source ici !
10/10
Mais est ce que de toi ?
lol
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
3 août 2004 à 22:35
ouais, manque un cls
BozzoDodo Messages postés 185 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 10 janvier 2008
3 août 2004 à 19:50
manque un .cls...
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
14 juil. 2004 à 10:29
très joli boulot !!! j'avais commencé un truc dans le genre mais je m'étais arreté aux imports/exports de fonctions !

bravo bravo !!

dommage qu'apparement le projet n'avance plus beaucoup.
cs_Napster Messages postés 76 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 19 septembre 2009
15 mai 2004 à 17:58
tres bien fait ta source que manque le fichier (.cls) ben sa m'aide vraiment beacoup a faire et mon soft (Ressource Vb presque comme ressource hacker's ) .Bravo
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
29 févr. 2004 à 22:48
Merci!
Je suis preneur pour toutes amélioration dans la gestion des objets, car c'est une tâche fastidieuse qui me décourage! Je préfère largement me concentrer sur la table des subs/funcs ...
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
29 févr. 2004 à 20:00
J'ai trouvé une petite erreur car j'essai de compléter un peu ta source.

Lorsque tu souhaites receptionner le nom d'un item d'un menu INVISIBLE, cela plante, car tu négliges le délimitateur spécial 0200.

Dans le "Sub ParseControlParams"
REMPLACER :

Case 19 'VB.Menu
   Get #FilePointer, Offs, gpInt
   exeVB_CTRL_PRP(i).sCaption = ScanString(FilePointer, Offs + 2)


PAR :

Case 19 'VB.Menu
   Get #FilePointer, Offs, gpInt
   If gpInt = 768 Then
      exeVB_CTRL_PRP(i).sCaption = ScanString(FilePointer, Offs + 4)
   Else
      exeVB_CTRL_PRP(i).sCaption = ScanString(FilePointer, Offs + 2)
   End If


Voilà, je sais que celà est un détail mais si cela t'intéresse je pourrai t'envoyer d'autres modifications à faire.

ciao
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
13 févr. 2004 à 00:20
dev en standby. Me faut un bon déassembleur pour continuer. A partir du code déasm"é", il est "a priori" possible de partiellement refaire du code VB (moins de 15%). Je manque de temps pour parfaire le sub déasm-eur et je n'ai que des notions d'asm que je dois perfectionner, pas le temps non plus pour ça.
màj p-e en septembre 2004.
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
12 févr. 2004 à 23:48
Travailles-tu encore dessus ?
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
3 déc. 2003 à 00:51
excelent
carlvb Messages postés 199 Date d'inscription mercredi 23 avril 2003 Statut Contributeur Dernière intervention 25 mai 2017 11
16 sept. 2003 à 09:10
Bravo. Absolument fantastique ta source Proger
Je pense sincèrement que même si je passais 12 heures par jour et 12 autres par nuit devant mon PC, je ne serais jamais arrivé à ton niveau.
Passer d'une source à un executable (genre créer un compilateur ) me pose déjà des difficultés astronomiques alors j'imagine les difficultés pour reconstituer une source à partir d'un executable.
Vous avez mon profond respect ainsi que mon admiration démesurée (si un programmeur de niveau 3 veuille bien des compliments d'un programmeur de niveau 1).

Continues à nous éblouir
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
4 sept. 2003 à 19:55
EBArtSoft, ta proposition est très interessante!, mais ... mmh, pour mon "fun" personnel je préfère en coder un moi-même. Qui plus est, pour "vb-analyseur", je dois accorder le désassemblage avec les différentes tables dans l'exécutable pour faire l'interprêteur d'algorithmes... alors il faut que la routine de désassemblage interroge en permanence les appels dans l'exe... En revanche si tu connais une doc sur les instructions ASM étendu (3dnow, sse, etc...) je suis preneur, car la doc de Sang Cho n'est pas exhaustive. :)

Urgo la ligne que tu cites me sert de debug. concrètement si elle est en surbrillance ca veux dire que le traçage des subs() vb n'as pas reconnu un des subs() déclaré. Bref tu peux mettre en remarque cette ligne...
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. 2003 à 19:20
>Proger
Je trouve ton travail assez bien !
Surtout la partie reconstruction du projet vb...

J'aurais bien tenté de faire un programme similaire
mais je n'est pas envie de pomper les idées d'un autre donc
je veut bien taffer sur un desassembleur pour t'aider dans ta tache
si cela t'es utile ?

bonne continuati@n
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
4 sept. 2003 à 18:54
Y'a un mini problème dans le module PEexe.bas, il me dit qu'il y a une erreur dans Private Sub ParseVBFunc(FP As Integer), c'est à la ligne :
If t4 = 0 Then Stop
(il me surligne Stop en jaune lorsque je clique sur analyser)

Si j'enlève cette ligne tout marche nickel, enfin j'ai pas tout tester, mais j'adore la jolie interface, c d'enfer :)

P.S: j'ai XP pro
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
3 sept. 2003 à 20:51
Vla une mise à jour sympa. L'analyse de la table des subs() va être plus longue que prévu, mais les résultats actuelles sont encourageant. Bon faut vraiment que je fasse un désassembleur...
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
2 sept. 2003 à 09:34
ok... vas-y balance l'url du programme pour debugguer ;)
merci d'avance...
@++

Warning
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
1 sept. 2003 à 14:13
Excellent nouvelle, on attend avec impatience la prochaine mise à jour :)))
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
1 sept. 2003 à 01:21
Bingo!!! l'addresse rva juste après celle pointant (l'eventuel) sub Main pointe vers les tables définissant toutes les entrées dans le code compilé!! modules, classes, forms, puis resStrings, modulesname, Declares... ya tout!! :) la prochaine mise à jour va déchirer :o) ...... j'ai l'impression qu'on peut aussi connaitre les paramètres des fonctions... et même le nom complet des subs/params dans les classes
Jcrois que l'analyseur d'exécutables va être fini d'ici peu... ;p
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
31 août 2003 à 19:35
yop c'est plutôt bon, ça!! J'te tire mon chapeau pour avoir codé un désassembleur a partir de la doc de Sang Cho (g l'impression que c'est la seule qui existe...) moi j'ai pas trouvé de solutions simple.

En revanche vbreformer n'aime pas trop un programme vb6 balèze assez connu sur le net... si tu veux l'url de ce proggy pour débugger, je te la file en pm...
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
31 août 2003 à 16:51
Proger> cool, si moi aussi je m'attaque au hard ;)... je sais pas si t'as remarqué, mais lorsqu'il y a un sub main(), VBReFormer le désassemble et fait les liens de références au appel des fonctions... etc... pour la table des point d'entré des sub c pas si compliqué, mais c pa facile... donc je vais d'abord me baser sur la sub main() facilement répèrable pour commencer la partie decompilation... :))

EBArtSoft> merci ;)
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
31 août 2003 à 13:08
>Warning

Ton VbReformer est du domaine des cieux ... lol
J'avais deja reperé une tres bonne ebauche d'ocx sur vbfrance ! ;-)
Je comprend que tu le garde precieusement caché
( j'en suis vert de jalousie ! ;-P )

de plus j'apreci enormement le "developpement inverse"
vous faite du tres bon travail tous ....

by@
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
31 août 2003 à 13:02
j'ai mis 1 semaine a temps plein pour le réel coding, mais bon faut dire que j'ai vraiment l'habitude (et que lorsque je bloque, je laisse tombé pdt qq jours). Sympathique ton programme vbreformer! (surtout que ça m'arrange bien qu'il existe un tool comme ça, ce qui me permet de ne pas en programmer un!!)
On va pouvoir passer aux choses bien hard >) je crois avoir repérer la table des point d'entrées des subs() ...
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
31 août 2003 à 12:26
salut! bravo beau boulot! j'ai vu les sources, t'a du y passer du temps!
en plus commenté...
pour un semi-decompiler VB plus complet (mais sans les sources), vous pouvez downloader VBReFormer(mon tool ;)=4ans de boulot) sur mon site à l'adresse suivante:
http://www.decompiler-vb.tk/

bye, Warning
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
24 août 2003 à 23:36
Bravo 10/10 ;)
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
19 août 2003 à 15:34
C'est trop de flateries ... lol
Si tu veus des infos sur le format PE je te conseil le site suivant :

http://www.wotsit.org

Et pour desassembler un executable utilise le logiciel PExplorer
que tu trouveras avec cet url (ou bien utilise le debugger de visual studio pour avoir les opcodes) :

http://www.heaventools.com/

continue, c'est un projet ambitieux et tres utile !!
b@nne prog
cs_Spectrum Messages postés 21 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 7 décembre 2004
19 août 2003 à 13:53
Ton code est très bien commenté, Braavo , bon boulot et surtout continues comme ca! Y a un bug chez moi à la compilation mais il doit me manquer une référence... poa grave, je regarderais.
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
18 août 2003 à 10:06
yoman64 > Refaire des vbp et des frm a partir d'un code compilé est impossible ...
Proger > c'est vraiment du bon boulot ta source ... continu !
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
18 août 2003 à 01:58
ce qui m'interesse c'est de récupérer le code pur. Pour cela je cherche les points d'entrées vers les feuilles et les modules.
Au passage forcément tu décomposes les objets, mais pour analyser un exe ça sert a rien.Si tu veux continuer là-dessus, ma source est une bonne base.
Je continue a chercher un moyen de récupérer la liste (ordinal) des Subs() et Functions() -- il y a une myriade de tables d'adresses, ça prend du temps de tout traçer.
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
17 août 2003 à 20:39
cool si je comprend bien sa extrait les controle dune form? est-ce uqe tu pense pouvoir un decompilateur complet je veux dire faire retourner le exe en vbp et frm?

en t-k tres bien pour un debut :)
Rejoignez-nous