homework 2: Inspecting Running Processes

The Challenge!

In the last homework you looked at the symbol table of your own compiled program. This time we’ll be watching and interacting with precompiled programs as they execute.

Once you’ve merged your upstream, you’ll have a hw2 directory with its own subdirectory called puzzles. Each file in that directory is an executable which contains a secret password.

Your task will be to fill out two files in your personal repository called secrets.txt and howto.txt.

The format for secrets.txt should be:

0. these  
1. are  
2. not  
3. real  
4. secrets  

howto.txt is also required: you must describe in English how to find the secret for that given executable. Each individual howto should be on one more more lines after a line with only the executable number and a period on it, like so:

0.  
This was the really easy one. You had to run it and then type in the secret of life.  
1.  
For this one, I had to:  
* Run a specific unix utility to learn some specific information  
* Perform some specific task that I found out about by checking part of a specific line in the output of the unix utility.  
...

Your howto.txt should enable any other CS 361 student to find the password within a minute of reading it.

Warning

Due to the finicky nature of these executables, you must complete this assignment on your personal Azure VM. Failure to do so will result in a zero.

Hints:

Open your howto.txt alongside your shell as you work on each puzzle, and use it to take notes. If you don’t give a full description of how to arrive at the answer, you may not receive points.

The content of lab section will be incredibly helpful for this assignment. If you miss it, ask someone that went if they’re willing to share their notes with you.

Template

The skeleton code is available in the public repository. You can merge it into your personal repository to receive the relevant files in the correct directories.

Turn-in instructions

Same as before: when you have completed your assignment and wish to have it graded, you must tag the commit you want graded with the tag hw2-submission. This tag must be pushed to the remote repository.

Grading

This assignment is being graded with a script; if you do not fill secrets.txt out exactly as directed, autograding will fail, and we will not give points back for bad formatting. howto.txt will be graded by hand. If you do not complete your assignment on your own personal Azure VM, you will receive no credit for the assignment.

The first 4 are each worth 1 point each, the final one is worth 4 points. An additional 2 points will be given for correct howtos.

Due Date

This assignment is due Friday, January 29, at 12:30 PM. See the syllabus for the late turnin policy. This assignment is worth just as much as every other homework, so getting as much credit on it as possible is important (don’t turn it in late!).