CSCI 341: Lab 2

Inspecting Running Processes
Due: 11:59 PM on Monday, March 15th

The skeleton code for this assignment is available at this link. You must use GitHub classroom to write your code and keep a commit log on GitHub. You will submit your files via Gradescope.

In this lab, you will use gdb, strace and ltrace to inspect and find out information from programs you do not have source code for. We will provide you with four binaries, each of which will provide you with a secret code if you interact with them correctly. (Note that the secrets will be customized to you, and will not be real words.)

The binaries you will need to inspect for this lab are available at https://github.com/CSCI341SP21/lab2_binaries.git.

Your task will be to fill out three files in your personal repository: username.txt, secrets.txt and howto.txt. username.txt should contain only your CS username.

The format for secrets.txt should be:

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

howto.txt is also required: you must describe in English how to find the secret for that given executable, 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 341 student to find the password within a minute of reading it.

Warning:

You must complete this assignment on cs341.cs.oberlin.edu or it will not generate the correct secrets

Hints:

  • Open your 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.
  • Worksheet 4 covers basic usage of gdb, strace and ltrace which will be incredibly helpful for this assignment.

Template

The executable files are available at https://github.com/CSCI341SP21/lab2_binaries.git. Your repository with template files is available at github classroom.

Turn-in instructions and Grading

Both secrets.txt and 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 cs341.cs.oberlin.edu, the autograder may fail. If you have issues with the autograder, please contact us via Piazza ASAP.

Due Date

This assignment is due Mon, March 15th. See the syllabus for the late turn-in policy.

C. Taylor, C. Kanich