Ho alcuni problemi nel tentativo di risolvere un gioco di guerra con una vulnerabilità della stringa di formato. Quindi ecco il codice del programma:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char ** argv)
{
    char text[1024];
    if(argc!=2)
    {
        printf("Usage : %s <texte>\n",argv[0]);
        exit(0);
    }
    strncpy(text,argv[1],1023);
    printf("Voici votre texte :\n");
    printf(text);
    printf("\n");
    exit(0);
}
 Quindi puoi vedere il codice smontato e presumo che la chiamata a   0x80484fb    sia la chiamata alla funzione vulnerabile. 
 
 
 Innanzitutto, non capisco perché ci siano già quei valori da   0xbffff834    a   0xbffff84c    sullo stack. In effetti, il valore in cima allo stack (aggiunto in   0x80484f8    nel thread principale) sembra essere l'argomento passato alla funzione   printf    ma non so quali siano gli altri valori passati prima. 
 La seconda cosa che non capisco è perché il risultato non mostra l'indirizzo   0xbffff840    e inizia a stampare   0xbffffe1b   . Credo che il   %x    stamperebbe il primo valore dello stack e poi il secondo e procederà in questo modo.