computer science 410 software reverse engineering
I. Code File and Executable: The original binary file that you are provided with should be converted to a fully running program in C that functions as
described in your commented code. For grading purposes, you must submit your code as both an executable and a Microsoft Word document.
A. Convert the binary file into assembly code. [CS-410-01]
B. Assembly code is properly commented and explained. [CS-410-02]
C. Disassembled code is completely converted into higher-order programming language (C code). [CS-410-03]
D. Translated code’s primary functions are properly commented out. [CS-410-02]
E. Translated code is logically organized and primary functions execute properly. [CS-410-03]
II. Security Brief
A. Overview and Body of Report
i. Briefly explain the internal code functionality. For example, this is where you would describe what main would do. [CS-410-02]
ii. Describe your process for disassembling the compiled code specific to your use of the tools and practices of the discipline. [CS-410-01]
iii. Describe the exploitable weaknesses and vulnerabilities that were found in the code. For example, this is where you discuss the ways a
hacker could hack into the component and change student grades without having gained previous knowledge of the password. [CS-410-
04]
iv. Describe basic recommendations and suggestions for how exploitable weaknesses and vulnerabilities can be fixed. [CS-410-04]
B. Security Brief Appendix (Tables/Mapping)
i. Identify what each block of binary code does in assembly language using a table or map. [CS-410-01]
ii. Identify security flaws in code using a table or map. [CS-410-04]
iii. Map each block of assembly instructions to the corresponding C instructions in a table or visual format. [CS-410-03]