Bonsoir à tous !
J'étudie un peu les buffer overflow et j'en profite pour essayer de m'habituer encore un peu plus au C. Mais voila il est tard, et je craque :
(le shellcode ne fait qu'un sleep de 99999999 ms)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
char shellcode[] = "\x68\xFF\xE0\xF5\x05\xB8\xE6\x1B\xE6\x77\xFF\xD0";
 
void (*opcode)();
int main() {
    opcode = &shellcode;
    opcode();
    return 1;
}
J'obtiens l'erreur de compilation : cannot convert `char (*)[13]' to `void (*)()' in assignment

Vous l'aurez compris, j'essaye tout simplement de pointer la fonction vers l'adresse du shellcode... sans succès et pourtant.

Merci