Welcome to

CSCI 591: Malicious Code Analysis
& CSCI xxx: Software Security

Project2

Due: Tuesday [11/07/2023] @ 11:59 PM (MST)

Objective

This project is meant to understand the major functionality of applications and the process of operating system to make addresses relocatable when applications are not loaded into their preferred memory addresses. This assignment should also give you more practice with using tools like Git, GitHub, and Markdown.

  1. You should parse Import Table, Import Address Table, Bound Import Table, Relocation Table, and Export Table of applications in project1 if existing, and other tables that are referred to by them
  2. Each of the structure referred to by them could have more than one, and you should parse all of them.
  3. Follow the format to print out their values.
    • For example, Dos Header has 19 fields, you print like:
      • e_magic: 5A4D
      • e_cblp: 90
      • e_cp: 3
    • Some may not have names, then printing their values is okay!
  4. Only one source code file and one README.md file in your github, don't use existing API functions and use the structures you defined.

Instructions On Submitting Your Assignment

Please submit your assignment via your private GitHub repository. Your project2 source codes and report should be located at project2/ and project2/README.md within your repository. Your project2 report should be written up in valid Markdown. For general tips on how to write and format your submission, please see the Project Info & Tips page.

REMEMBER: Follow instructions and naming conventions EXACTLY! Beginning with this lab, we will start deducting points from submissions that do not adhere to explicit submission instructions.