Supponendo l'architettura della CPU Intel Atom 2008 di Ubuntu 14.04 a 32 bit e x_86, quanti byte fa il formato %x letto dallo stack?
So che posso leggere cosa c'è nella pila usando:
formatstring="%x";
printf(formatstring);
Come ho messo più %x nella stringa di formattazione, più dati vengono letti dallo stack.
Poiché %x richiede 4 byte, ogni %x dovrebbe leggere 4 byte dallo stack, quindi ad esempio se il 1%% co_de legge ciò che è stato scritto all'indirizzo %x il 0x0 leggerà l'indirizzo 2nd e così via (ovviamente i numeri sono solo per me per rendere la spiegazione più semplice).
Questa supposizione è corretta? Non sembra che da quando ho provato un esercizio per calcolare l'indirizzo di una variabile facendo 0x4 ho trovato un indirizzo sbagliato.