Reverse Engineering
Learning Outcome 1: Demonstrate understanding of link between compiled software and the source code it is generated from
Learning Outcome 2: Analyse communication, processing and network data to derive the underlying protocol
Learning Outcome 3: Make use of tools to examine the memory state of a running process with the aim of deriving the underlying algorithm
Learning Outcome 4: Examine and evaluate the differences in tools used for reverse engineering, patching and binary mangling
Assignment Brief
Assignment Task
For this report you are required to Reverse engineer a piece of software, and produce a report of your findings.
The report should describe the stages of the reversing process, showing the steps used to discover the underlying structure of the software.
The report should contain:
Discussion of the Reversing Process
You should describe the steps taken to reverse the software, describing the tools used and the reasoning behind the decisions made.
It would be appropriate to show a step by step walk through of the reversing process, discussing the analysis made at each stage.
Reconstruction of the Code
You will also need to present the underlying logic and functionality of the code.
Showing the functions within the program, and your analysis of their purpose and logic.
This should include: