EDIT: Je sais que c'est possible avec OllyDBG, je l'ai fait fonctionner mais j'ai toujours besoin de la version d'exécution (CPP) pour que je puisse y sauter.Changer le comportement de la fonction cible mais pas complètement
En this fonction (pseudo-code) à l'intérieur du commutateur Je voudrais modifier les opérations dans le cas 115 par ex. changement APPEL 100CE3E8 à l'appel 100CF1E9
Il ressemble à:
(cas 115)
sub_100CE3E8(a1, v19);
break;
1024185D 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
10241860 50 PUSH EAX
10241861 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
10241864 51 PUSH ECX
10241865 8B0D A0B12A10 MOV ECX,DWORD PTR DS:[102AB1A0]
1024186B E8 78CBE8FF CALL somelib.100CE3E8
Et je voudrais remplacer dans cette partie spécifiée cas d'instructions, par exemple J'utilise MS Windows Detours 1.5 pour effectuer ce genre d'opérations et cela fonctionne bien dans la plupart des cas.
void hSwitchFunction(int a1)
{
//So what should I put here to jump directly to 1024185D,
//and don't replace the function completely?
//I mean I want to modify just the part of this function.
}
//somewhere in the code
DetourFunction((PBYTE)0x10241630, (PBYTE)hSwitchFunction);
//somewhere in the code
Je le sais mais je ne sais pas comment placer le pseudo-code dans le corps hSwitchFunction. Donc, je pourrais en modifier certaines parties. – deepspace