Instructions
Objective
Write a program for string that exploits a buffer overrun to defuse binary bomb.
Requirements and Specifications
The next problem concerns the following C code to test your understanding of the stack discipline and byte ordering
Here are some notes to help you work the problem:
- Recall that Linux/x86-64 machines are Little Endian
- scanf("%s", buf)reads an input string from the standard input stream (stdin) and stores it at address buf (including the terminating ‘\0’ character). It does not check the size of the destination buffer.
(A) (4 points) After the sub instruction at address 0x400554 in function overflow completes, the stack contains a number of elements which are shown in the table below. Determine the address of each element as a byte offset from buf[0]. Fill up the empty boxes below with the correct addresses.
Source Code