Skip to content

Commit 9793d12

Browse files
committed
add the beginning of the chapter 4
1 parent 50b0c22 commit 9793d12

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

docs/reverse/practical-malware-analysis.md

+20
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,26 @@
4545
- Wireshark: Open source sniffer.
4646
- INetSim: Simulates commin Internet services.
4747

48+
## Chapter 4 - Crash course in x86 disassembly
49+
50+
- C code => *compiler* => CPU Machine Code => *Disassembler* => Assembly Code
51+
- **Levels of Abstraction:**
52+
- **Hardware:** Electrical circuits that implements logical operations like XOR, AND, OR and NOT gates
53+
- **Microcode (firmware):** An interface between hardware and machine code
54+
- **Machine code:** List of Opcodes that tell the processor what to do
55+
- **Low-level languages:** Human readable version of a computer architeture's instruction set (assembly).
56+
- **High-level languages:** Programming languages like C, C++, ... Compiled to machine code.
57+
- **Interpreted languages:** Programming languages like Python, C#, java, ... Translated to bytecode that will be executed by a interpreter.
58+
- **Microprocessors Architectures:** x86, x64, SPARC, PowerPC, MIPS, ARM, etc.
59+
- **Von Neumann Architecture:**
60+
- **Central Processing Unit (CPU):** Executes code
61+
- **Control Unit:** Get instructions to execute from RAM using the Instruction Pointer register
62+
- **Arithmetic/Logic Unit (ALU):** Executes an instruction fetched from the RAM and plces the results in memory/registers
63+
- **Main Memory:** RAM
64+
- **Input/Output devices:** Devices like keyboard, mouse, monitors...
65+
66+
![Von_Neumann_Architecture](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Von_Neumann_Architecture.svg/1920px-Von_Neumann_Architecture.svg.png)
67+
4868
## Tools
4969

5070
- [Detect It Easy](https://github.com/horsicq/Detect-It-Easy): Detect file and packed types.

0 commit comments

Comments
 (0)