Executer du code binaire en C/C++

Résolu
Kstor4ever Messages postés 2 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 27 juillet 2005 - 27 juil. 2005 à 16:19
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 27 juil. 2005 à 16:59
Bonjour, je programme une application en C++. Je charge en mémoire un
code binaire (assembleur x86 koi), comment puis-je faire pour
l'executer une fois celui-ci mis en mémoire ? Merci beaucoup de me
répondre.

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 16:37
définis un pointeur de fonction à l'adresse de ce code et lance ta fonction.

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 16:59
par exemple:

int Test()
{
long (WINAPI *pMaFunc)(VOID);
long r;
*(FARPROC *)&pMaFunc = (FARPROC) 0xFFFF; // A TOI DE VOIR ICI
r = pMaFunc();
return r;
}

ciao...
BruNews, MVP VC++
3
Kstor4ever Messages postés 2 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 27 juillet 2005
27 juil. 2005 à 16:42
Merci de ta réponse. Mais quel pointeur ? Un simple pointeur de fonction tout bête ? Pourrais tu me montrer un petit exemple s'il te plait ? merci bien, @+
0
Rejoignez-nous