Get your feet wet in GHIDRA or maybe your eyes :’(
Instructions:
Compile the hello world C code we saw in class into an executable Code:
GCC Command:
Load the executable into GHIDRA and locate the main function that you wrote. You may be surprised to see how much additional code is added by the compiler!
Comment the same instructions that you commented for Extra Credit #1
Note: You can write and compile the code above in AWS workspace. After you are done with commenting, you can submit your ASCII Listing file directly from the AWS workspace (Highly recommended). Doing this will help you avoid transferring the file from the AWS workspace to your personal computer.
Exporting Comments from GHIDRA :
-5 points for not following these steps properly.
Default export settings in GHIDRA will truncate comments!
Click on File and then click on Export program as shown in figure below.
This will open a new pop-up in that choose ASCII format as shown in figure below.
Click on options to increase the end of line width (max comment width).
Transferring Files:
To transfer files from your personal device to the AWS workspace:
Create a zip folder of all the files that you would like to transfer to the AWS workspace.
Every GT student has Box and OneDrive accounts given free by the institution. Login to either of those two and upload the desired files.
Now go back to the AWS workspace and login to either of those two services where you uploaded you zip folder. Download folder to the AWS workspace and use the appropriate 7z command to unzip your folder.
Grade: 100 points
This assignment can be done individually or in a team of 2. Please join a group in Gradescope if you are collaborating.
Do not create or join a group in Canvas. Canvas groups are different from Gradescope groups.
New to Gradescope? This link provides instructions for how to create groups in Gradescope: https://help.gradescope.com/article/m5qz2xsnjy-student-add-group-members
Zoom can also provide the ability to collaborate and video conference with your teammate.
Submission:
Upload your commented ASCII Listing file exported from GHIDRA (called submission.txt) to the assignment in Gradescope.
Note: Gradescope will only check the formatting of your submission. Gradescope will not automatically check for correctness and provide a grade.
Extra Credit #1 – Get your assembly skillz up to speed!
Instructions:
Compile the hello world C code we saw in class into assembly code Code:
GCC Command:
gcc -W -Wall -Wextra -Wpedantic -fno-asynchronous-unwind-tables -O0 -S -masm=intel hello.c -o hello.s
For each line with an assembly instruction, add a comment explaining what that instruction is doing
Be smart about it! No “moves 2 into eax” Instead say: “the number of args must be 2”
Grade:
5 extra credit points (fills in lost points on real labs)
Teams:
This assignment can be done individually or in a team of 2. Please join a group in Gradescope if you are collaborating.
Do not create or join a group in Canvas. Canvas groups are different from Gradescope groups.
New to Gradescope? This link provides instructions for how to create groups in Gradescope: https://help.gradescope.com/article/m5qz2xsnjy-student-add-group-members
Zoom can also provide the ability to collaborate and video conference with your teammate.
Submission:
Upload your commented assembly code file (called hello.s) to the assignment in Gradescope.
Note: Gradescope will only check the formatting of your submission. Gradescope will not automatically check for correctness and provide a grade.
Reviews
There are no reviews yet.