--- title: 'Homework Assignments' tags: enee459b-fall23 --- ## Homework 1. Access The `access` executable provided in this HW is a piece of software used for granting access to a turnstile. It provides simple user authentication using standard username/password combinations. Unfortunately, the company that developed the software inserted a backdoor to allow unfettered access to all the organizations that use the physical access control system. * [Download the `access` and `passwd` files](https://yonghwi-kwon.github.io/class/enee459b/data/access.zip) * `access` is a binary executable file and `passwd` is a text file. * Obtain the binary in the class VM server ```=csh $ mkdir hw1 $ cd hw1 $ cp /class/re-hw1/* ./ ``` * [Full Homework Description](https://yonghwi-kwon.github.io/class/enee459b/data/HW1.pdf) ## Homework 2. Data Structures You have been provided a simple utility (`re-hw2`) that was written by a past co-worker, but nobody is quite sure what it does! It seems to be saving a binary file. What is it doing, and what format is the binary file in? * [Download the `re-hw2` binary](https://yonghwi-kwon.github.io/class/enee459b/data/re-hw2) * Obtain the binary in the class VM server ```=csh $ mkdir hw2 $ cd hw2 $ cp /class/re-hw2/* ./ ``` * [Full Homework Description](https://yonghwi-kwon.github.io/class/enee459b/data/HW2.pdf) ## Take home activity: bomb64 The binary is a software bomb that if you could not provide the correct secret input, it will explode. Specifically, the binary has 6 phases where each phase expects a secret input. There is also a secret phase (hence total 7 phases). Can you figure all the expected inputs? * **Deadline** (passed) * ~~Deadline for Phase 2-3: **Oct 1, 9 am ET**.~~ * ~~Deadline for Phase 4-secret: **Oct 8, 9 am ET**.~~ * **Note for collaboration/cheating**: All assignmemts (homework, projects, and extra-credit challenges) should be done individually. You can discuss technical details of how to use disassembler, debugger, and decompilers (e.g., ghidra), but you are not allowed to share your answers. * [Download the `bomb64` binary](https://yonghwi-kwon.github.io/class/enee459b/data/bomb64) * Obtain the binary in the class VM server ```=csh $ mkdir bomb64 $ cd bomb64 $ cp /class/decompiler/bomb64 bomb64 ``` * [Extra Credit Assignments](https://hackmd.io/@yonghwikwon/SJf9uAWfa)