Voilà j'ai tout essayé et chercher un moment sur notre ami Google mais je ne trouve rien qui puisse m'aider alors j'espère que l'un d'entre vous pourra.
J'étudie les failles applicatives ou du moins j'essaye d'apprendre. Je connais le C et maintenant les bases en asm. J'ai simulé volontairement un buffer overflow dans le petit programme c de façon à pouvoir developper un petit exploit toujours dans l'idée d'apprendre.
J'utilise ollydbg pour débugguer et lorsque je souhaite passer un argument au programme (pour simuler le débordement du buffer), je n'arrive pas à écrire une adresse de retour en hexa. Tout ce que je tape en tant qu'argument est écrit en ascii normal. Vous allez me dire c'est une chaîne de caractères.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdlib.h> #include <stdio.h> #include <string.h> int bof(char* string) { char buffer[10]; strcpy(buffer, string); return 1; } int main(int argc, char* argv[]) { bof(argv[1]); printf("Done..\n"); return 1; }
Alors j'aimerais savoir de quelle façon continuer à simuler mon buffer en pouvant rentrer une adresse de retour sans qu'elle soit prise au format ascii mais hexa.
Parce que là je n'avance plus du tout, merci d'avance.
Partager