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]