====================[ Homework 1: Disassembling x86 code ]==================== In this exercise, you will get an archive with an x86_64 executable program. When executed, this program asks for a password and, if you enter the right password, will print a "secret message". This message contains a token that you will need to submit. You can use any methods to extract the message, but disassembling and using a debugger should be enough to extract it. 1. How to get get your archive file. Take the last 4 digits of your student ID, convert them to all lowercase. Add this 4-byte word to the URL http://www.cs.dartmouth.edu/~sergey/cs59/x86/hw-x86/ and download the .zip archive you find there For example, assume my ID is F000XYZ. Then I'll get: http://www.cs.dartmouth.edu/~sergey/cs59/x86/hw-x86/0xyz/ Pick the right archive for your system, "linux" for Linux, "darwin" for MacOS X. If and only if the "linux" version provided does not run on your machine, shoot out an email to me, and then use the "linux32" version I send (compiled for 32-bit architectures such as i686). [If even that does not work on your machine, send me the output of your "uname -a" shell command.] If you are auditing this course, I don't know your ID, but you aren't off the hook yet :) Use the 0xyz example above to get your archive. 2. In this .zip archive you'll find two executable files, one with hints, the other without it. I'd like you to start with the hints-less file. 3. Once you extract the token, submit it in an email to me. 4. Keep a log of your work. The Unix command "script" is probably easiest, but using Emacs in shell mode also works (https://www.masteringemacs.org/article/running-shells-in-emacs-overview) You need *not* submit the log of your work if you successfully get a token---I will only need the log if you run into problems getting the token. 5. If you get stuck, send me email with questions. The first hint is free :) For further hints, I may take off points. On the other hand, if your question reveals a problem that other students might have due to a difference in computing environments, I may assign you extra points for asking it and thus helping others. 6. Submit your token by noon of Saturday 10/01 via email. If you cannot get the token, submit your work log. Good luck!