Executer un code ce trouvant dans un fichier

Signaler
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Salut, c'est un question que je repose parce que j'ai découvert un tilt.
Ma question de base était "comment fait-on pour executer un code qui se trouve dans un fichier texte?"
On m'avait répondu que sans le compiler, c'était pas possible. Mais voila le tilt, quand on regrade un fichier comme "form1.Design.vb" et que l'on trouve énormémant de chose comme "Me.ToolStripButton13.Text = "Options"", et la question, ici, qui est en rapport avec ma première question, est, Comment VS interprete ce code?

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://www.velersoftware.2007.fr

4 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
38
La réponse t'avait été donnée la prmeière fois de manière indirecte.

"...Comment VS interprete ce code?..."    Il le compile.

En gros il utilise un compilateur capable de reconnaitre ces différentes informations et de les transformées en un code interprétable par la plateforme d'execution. Ensuite un linker passe derrière pour organiser et assembler les bouts de code générés par le compilateur et ainsi créer un executable.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
3
OK, j'ai pigé, euh, t'as un exemple, un autre truc qui pourrais m'aider?

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
veler, vu que tu insistes, je vais donc supposer que tu pratiques C et ASM.

addrBase = VirtualAlloc(....);
mettre MEM_COMMIT Or MEM_RESERVE au 1er param, PAGE_EXECUTE_READWRITE au dernier.

Avec les manuels Intel, tu auras les opcodes à écrire partant de addrBase en n'oubliant surtout pas d'empiler pour retour sur EIP. Mettre aussi l'opcode du 'ret xxx' en dernier dans le buffer.
Quand buffer rempli des opcodes et stack prête, faire un 'JMP addrBase' pour aller exécuter ce code dynamique.
VirtualFree(addrBase, 0, MEM_RELEASE); quand buffer ne sera plus utile.

Simple hein...

ciao...
BruNews, MVP VC++
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
3
très simple :(
je prend plutôt ça comme un avertissement. il vaudrait mieux que je trouve une autre solution...

ebaudoux@club.fr
http://velerweb-2.fr.nf
http://velerweb-2.fr.nfhttp://tempuri.org/tempuri.html