homework 2: Inspecting Running Processes
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.
Before you start, please make sure to set up your environment correctly. You have two options for this homework:
systems[1-4].cs.uic.edu(e.g. systems1, systems2, etc.), or
- Use the
.devcontainerfolder that is included with the skeleton code to set up your Docker container environment. Before opening your workspace in the container, you need to modify both
devcontainer.jsonfiles and replace the
netidwith your UIC NetID (
"remoteUser": "netId"). After opening the workspace in the container, please install
sudo apt update && sudo apt install ltrace strace -y.
In either case, when you run
whoami command in the terminal, it should return your UIC NetID. Please note that if the result is different than your NetID, your secrets will not be accepted by the autograder.
Your task will be to fill out two files in your personal repository called
The format for
secrets.txt should be:
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:
howto.txt should enable any other CS 361 student to find the password within a minute of reading it.
You must complete this assignment on
systems[1-4].cs.uic.edu or the specified Docker container. Failure to do so will result in a zero.
You will not be given any other files to complete secret findings except the 5 executable files.
howto.txt alongside your shell as you work on each executable file, 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 cover basic usage of
ltrace which will be incredibly helpful for this assignment.
The executable files are available in the classroom repository and can be accessed using the link above.
Turn-in instructions and Grading
howto.txt must be submitted to Gradescope via GitHub. While grading
secrets.txt will be done automatically, the
howto.txt will be graded by hand. You should have both files in your submission. If you do not fill
secrets.txt out exactly as directed, autograding will fail. If you do not complete your assignment on any of
systems[1-4].cs.uic.edu machines or the Docker container, autograder may fail. If you have issues with the autograder, please contact us via Piazza ASAP. Technical issues within 36 hours of the deadline will not be an excuse for submitting the assignment improperly or late.
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.
This assignment is due Mon, 28 Sep 2020 23:59:00 -0500. See the syllabus for the late turn-in 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!).