Executer un code ce trouvant dans un fichier

cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 - 5 août 2007 à 09:14
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 - 5 août 2007 à 20:24
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
5 août 2007 à 10:35
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
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
5 août 2007 à 11:15
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
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 août 2007 à 13:38
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++
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
5 août 2007 à 20:24
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
0
Rejoignez-nous