---
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)