This assignment is meant to be a low stakes way to introduce you to this course and some of the technologies we will use. You may have opportunities to complete parts of this assignment in class, but you should plan to work on this outside of class as well. Of particular importance, by the end of this assignment you should be setup with a suitable environment for completing assignments for this course. You will also have had the chance to practice with tools we’ll be using this semester. Besides, the project requires you to parse two applications with different architectures for their DOS headers, NT headers (including signature, coff header and optional header), and section headers and print out their values in a format like (field name: field value). The codes should be written in C or C++.
Please sign-up for our course Slack!
At a minimum, please also update your Slack profile to include some helpful information:
You will use a private GitHub repository for all of your work this semester, which will enable you to share code with the course staff so that we can assess your work and provide feedback. Please follow the instructions below to get set up.
At a minimum, please also update your GitHub profile to include some helpful information:
Please follow these instructions
csci-591-fall2023-private
Private
Settings
» Manage Access
sectionOnce your repository is initialized, you can pull it down to your local machine. Instructions can be found on the home page of your new repository.
Setting up an SSH identity makes it possible for you to interact with GitHub repos via the command line without having to re-enter your password all the time.
If you’ve already setup an SSH key to have passwordless access to GitHub on the command line, you can probably skip this step.
You can check to see if you have a key setup by looking in your ~/.ssh/
directory.
If there is nothing there, or if you don’t have a key dedicated to using with GitHub, you should read the following article:
Adding a new SSH key to your GitHub account
You will provide information about your PRIVATE repo in the course questionnaire. (see questionnaire)
This project requires you to parse two applications with different architectures for their DOS headers, NT headers (including signature, coff header and optional header), and section headers and print out their values in a format like (field name: field value). The codes should be written in C or C++.
int main(int argc, char* argv[])
{
if (argc < 2){
printf("Usage: %s filename.exe", argv[0]);
return 1;
}
return 0;
}
We will use a variety of tools and languages in this class. Here is a list of some things you may want to review.
NOTE: You don’t have to do anything here necessarily, but if one of these topics is unfamiliar I recommend you take some time to do some individual review. This list is not exhaustive, but it highlights some of the major tools and language we will use in this class. In my experience, students are happier later in the term if they spend some time up front reviewing some of these topics.
README.md
composed in Markdown. « cheatsheet »
Please submit your assignment via your private GitHub repository.
For general tips on how to write and format your submission, please see the Lab Info & Tips page.
Specifically,
README.md
file (written in Markdown) in your private repo that has your
project1/
directory for this assignment.project1/README.md
file (written in Markdown) for this assignment.project1/README.md
, please follow the instructions in Example Structure of a Project Report (README.md
) :
README.md
.
NOTE: While it may seem redundant, please always include the information requested above at the top of your README for each lab. This makes things a lot easier for us when we need to dig into your repo to provide help and feedback specific to a lab.