In this class, you will work through lab assignments—hands-on exercises to guide you through real, practical activities related to a class topic. Similar to a Physics or Chemistry classes, you will follow the lab instructions and produce a project report.
The projects we will use this term are from the PE Tools project that was posted at 0xRick's Blog and my research paper and the book Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software.
For our lab assignments you will want to have the Windows operating system properly installed in computers or virtual machines. Specifically, we recommend using the Windows 10 or above.
Project 1: PE Headers
» Due: Tuesday [10/24/2023] @ 11:59 PM (MST)
Project 2: Tables
» Due: Tuesday [11/07/2023] @ 11:59 PM (MST)
Project3: Process Context Switch
» Due: Tuesday [11/21/2023] @ 11:59 PM (MST)
Project4: Kernel Debugging
» Due: Tuesday [12/05/2023] @ 11:59 PM (MST)
NOTE: 3 projects are individual projects, and 1 project is a group project. You are encouraged to discuss ideas, concepts, and strategies with others, but each student must independently carry out the tasks in the projects and submit their own project write-up. You should not copy code or command line tasks from other students. Any submissions found in violation will receive an automatic 0, and the misconduct will be reported to the Office of the Dean of Students at Montana State University. (See: Academic Misconduct @ MSU)
project1/
, project2/
, project3/
, …).
README.md
within the correct subdirectory (e.g., project1/README.md
).project1/pe.c
)..gitignore
file to ignore
files that should not get tracked in your git repository.
DO commit your code and files that are needed to build/run/explain your submission.
DO NOT commit executables or other generated files (e.g., .o
files, swap files).README.md
) Here is a link to my demo repo that I setup to make some of the formatting expectations clear.
Please Note: Try to follow the format of the header in my example EXACTLY!
Please Note: I do NOT want your GID, I want to see your Net ID!
Please Note: You’ll notice that my demo repo is public so that you all can access it - but yours really should be private!