[C/C++]Mise en place d'un hook

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

Nayres

Membre Banni
Apr 15, 2012
3,431
0
341
Quelque part.
Merci de ta réponse :)
Bon, comme vous êtes un peu mon dernier espoir, je vais vous demander une dernière chose:
Est-ce que quelqu'un pouraît écrire une mini-fonction, se trouvant dans une dll injectée dans le processus cible, avec le strict minimum pour hooker une fonction (même pas une fonction unhook, vraiment le strict minimum) avec un code commenté au maximum pour assurer ma compréhension (en gros faites comme si vous parlez à quelqu'un qui s'y connaît quasiment pas en programmation, même si j'ai de solides bases).

Je sais que c'est un peu trop vous demander, mais qui tente rien n'a rien ; je suis un peu à bout de force j'en ai marre de chercher sur tout et n'importe quels sites pour réussir à comprendre comment marche cette foutue fonction.


PHP:
void DetoursFunction(PBYTE fAdd, const PBYTE nAdd, const int lengt) 
{
 DWORD old;
 BYTE* jmp = (BYTE*)malloc(lengt+5);
 VirtualProtect(fAdd, lengt, PAGE_READWRITE, &old); // On change la protection de la page au cas où elle est inaccessible et l'enregistre
 memcpy(jmp, fAdd, lengt); // // On copie les octets
 jmp += len; jmp[0] = 0xE9; 
 *(DWORD*)(jmp+1) = (DWORD)(fAdd + lengt - jmp) - 5; // jmp après la trampoline à l'addresse
fAdd[0] = 0xE9; // On change le premier byte en xE9
 *(DWORD*)(fAdd+1) = (DWORD)(nAdd - fAdd) - 5;
 VirtualProtect(fAdd, lengt, old, &old); // On remet la page à son état initial
 return (jmp - lengt); 
}

Ça fait 90% du code, reste plus qu'à créer la nouvelle fonction, et tu met le jmp *-*
 
Mar 30, 2011
1,014
1
944
In Your Ass
je ne cherche pas une fonction de hooking toute faite, sinon j'aurais directement copié une fonction trouvée sur un site, l'utiliser et j'aurais laissé tomber ce topic.


......

Est-ce que quelqu'un pouraît écrire une mini-fonction, se trouvant dans une dll injectée dans le processus cible, avec le strict minimum pour hooker une fonction (même pas une fonction unhook, vraiment le strict minimum) avec un code commenté au maximum pour assurer ma compréhension (en gros faites comme si vous parlez à quelqu'un qui s'y connaît quasiment pas en programmation, même si j'ai de solides bases).
 

Zboubi33

Membre
Feb 9, 2014
14
0
121
Merci beaucoup Akius, j'essaye de décortiquer le code pour tenter de comprendre quelque chose :)

---------- Message ajouté à 22h14 ---------- Le message précédent était à 22h09 ----------

Le problème, c'est qu'il y a des choses que je comprends pas et qui ne sont pas commentées, notamment les 3 paramètres de la fonction et, je comprends pas on m'a dit que les fonctions injectées n'ont pas besoin d'utiliser un jmp et cette fonction en utilise
 

Nayres

Membre Banni
Apr 15, 2012
3,431
0
341
Quelque part.
Merci beaucoup Akius, j'essaye de décortiquer le code pour tenter de comprendre quelque chose :)

---------- Message ajouté à 22h14 ---------- Le message précédent était à 22h09 ----------

Le problème, c'est qu'il y a des choses que je comprends pas et qui ne sont pas commentées, notamment les 3 paramètres de la fonction et, je comprends pas on m'a dit que les fonctions injectées n'ont pas besoin d'utiliser un jmp et cette fonction en utilise

PHP:
void DetoursFunction(PBYTE fAdd, const PBYTE nAdd, const int lengt)
PBYTE fAdd = Addresse à hook
const PBYTE nAdd = Nouvelle addresse
const int lengt = nombre de bytes
 
Last edited:
Status
Not open for further replies.