These exercises are designed to illusrate the principals that are covered in the course materials, for session three we have the following exercises:
- structs
- pointers
- syscall
- files
Note You will need to mark these binaries as executable before trying to run them, ex: chmod u+x structs
Each of these exercises are designed to accept user input from the command line - when the proper input is provided you will get a Success or Congratulatory message.
Remember you can provide non ascii input as follows:
./pointers `python -c 'print "\xDE\xAD\xBE\xEF"'`
This example will provide the value 0xDEADBEEF into argv[1]
Hint: For the files exercise, you may need to edit binary files, to do this you can use any standard hex editor, below are some reccomendations:
- 010Editor
- HxD
- xxd
It is up to you to determine the format and number of these arguments for each exercise by reverse engineering them - if you get stuck please feel free to reach out on the hackaday.io page, or reach out to me on twitter.