Files
stephensottosanti 0b51262827 commit
2021-03-08 22:10:38 -06:00
..
2021-03-08 22:10:38 -06:00

Reverse Engineering

BACK TO UACTF

Reverse engineering is the process of extracting information or design knowledge from anything that is man-made. The mechanisms within the field of reverse engineering are used in many applications including understanding malware, bridging software interoperability, and determining the strength of application code.

Knowledge of the usage of a disassembler is helpful to solve reverse engineering tasks. A disassembler is a tool that interprets a compiled program and produces the corresponding machine code that can be used for analysis. There are several disassemblers available including IDA and Ghidra (https://www.ghidra-sre.org).

A free evaluation version of IDA can be found at the following link:
https://www.hex-rays.com/products/ida/support/download.shtml

Potential skills that may be necessary to solve reverse engineering tasks.

  • Basic understanding of how binary data is read and structured
  • How to programmatically read in binary data
  • How to handle low-level reads and writes
  • How to interpret raw data using a hexadecimal viewer
  • Understanding how the stack and heap is used with applications

Below are potential examples of reverse engineering problems:

  • Password discovery
  • Breaking through obfuscation
  • Discovering DLL Injection
  • Discovering malware

Helpful links for information on the reverse engineering process

BACK TO UACTF