I have a small question. I know that the %x format specifier can be used to read values from the stack in a format string attack.
I found the following code:
%08x%08x%08x%08x What does the 08 mean? What is it doing exactly? Thanks :)
Break-down:
8 says that you want to show 8 digits0 that you want to prefix with 0's instead of just blank spacesx that you want to print in lower-case hexadecimal.Quick example (thanks to Grijesh Chauhan):
#include <stdio.h> int main() { int data = 29; printf("%x\n", data); // just print data printf("%0x\n", data); // just print data ('0' on its own has no effect) printf("%8x\n", data); // print in 8 width and pad with blank spaces printf("%08x\n", data); // print in 8 width and pad with 0's return 0; } Output:
1d 1d 1d 0000001d Also see http://www.cplusplus.com/reference/cstdio/printf/ for reference.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With