Update README.md

This commit is contained in:
stephensottosanti
2021-02-25 16:41:07 -06:00
committed by GitHub
parent d8cb023639
commit 478d197a06

View File

@@ -1 +1,34 @@
# Reverse Engineering
# Reverse Engineering
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. <br>
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). <br>
A free evaluation version of IDA can be found at the following link: <br>
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
- https://securityaffairs.co/wordpress/46606/hacking/software-reverse-
engineering-process-basics.html
- https://www.geeksforgeeks.org/software-engineering-reverse-engineering/
- https://medium.com/@vignesh4303/reverse-engineering-resources-beginners-to-intermediate-guide-links-f64c207505ed