Faire un decompilateur/desassembleur pour une VM

Tout sur les langages de programmation.

Faire un decompilateur/desassembleur pour une VM

Messagepar _solo » 24 Août 2014, 20:10

hi,

voila j'ai besoin de me faire un desassembleur pour une tres vieille VM (genre stopper en 1996) le "truc" s'appelle "a" dans le desinstalleur windows (no joke) bien que s'executant sous dos,et systeme NT il a de serieux probleme a faire se pour quoi il a ete concu cad afficher des image en 3d, probleme ce format 3d est specifique a cette technologie qui pue du cul.

Ayant vraiment besoin de ces images j'ai decider de me faire un desassembleur, mais j'en ai jamais fait ever.J'ai lu plusieurs code source de desassembleur de dot net mais j'arrive pas a "extraire" la theorie que j'appliquerais a mon probleme ...

Donc si vous avez cette theorie ca m'aiderais vachement :P ou meme un lien :?

ps: oui pour etre aussi a chier c'est une technologie francaise,
pps: heureusement utiliser uniuqement dans certaines institution et on se demande pourquoi la france decole pas dans l'high tech avec ce genre d'escroc
Image
Avatar de l’utilisateur
_solo
Maître des ténèbres
Maître des ténèbres
 
Messages: 590
Inscription: 13 Février 2006, 11:28
Localisation: dans un cambrousse loin loin

Re: Faire un decompilateur/desassembleur pour une VM

Messagepar Martinooooo » 24 Août 2014, 23:00

Pour faire ça :
- soit tu es dans le cas d'une VM où les spécifications sont connues (.NET, LUA compilé...) => t'as juste à recopier en code les normes publiées
- soit tu es dans le cas d'une VM non documentée publiquement (WinDev, ...), et dans ce cas-là tu dois te taper tout le RE derrière pour comprendre la VM (et si tenté qu'elle soit un peu grande, t'en as pour un sacré bout de temps :mrgreen: (de toute façon on passe tous par là un jour ou l'autre)

La théorie est là :
1) Est-ce que tu as un papier qui explique les différents éléments de la VM ?
--> Non = tu dois tout RE bout par bout
2) T'as juste à coder en fonction de ce que tu sais de la VM, c'est très souvent du parsing brut, bête et méchant

PS: les désassembleurs .NET c'est ""juste"" du parsing basé sur les normes publiées (par ex: la norme ECMA-335 pour le Common Language Infrastructure définissant globalement les assembly .NET: http://www.ecma-international.org/publi ... MA-335.pdf )
Acme::Don't
Acme::Bleach
Acme::Pony
Lingua::Romana::Perligata
The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)
Avatar de l’utilisateur
Martinooooo
Maître des ténèbres
Maître des ténèbres
 
Messages: 575
Inscription: 19 Août 2008, 08:20
Localisation: DR8, le + utile DRx


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités