Skip to main content

One post tagged with "Stack"

A stack is a region of memory within a computer's program where data is stored temporarily while it is being processed. It follows the Last-In-First-Out (LIFO) principle, meaning that the last item added to the stack is the first one to be removed. The stack stores local variables, function arguments, and control flow information, making it an essential part of a program's memory layout. In malware analysis, the stack can be targeted by attackers to hijack control flow and execute malicious code.

View All Tags

THM | x86 Architecture Overview

· 8 min read

Malware Analysis | x86 Architecture Overview | Summary:

The room provides an overview of CPU architecture, explaining how it executes instructions and interacts with external components. It details the basic components of a CPU (Control Unit, Arithmetic Logic Unit, Registers) and how they interact with memory and I/O devices.

It then delves deeper into registers, explaining their types (Instruction Pointer, General-Purpose Registers, Status Flag Registers), and how they are used to store data temporarily while it is being processed by the CPU. Additionally, the room covers program memory layout, highlighting the importance of the stack in malware analysis, and explains common malware techniques such as stack buffer overflow attacks.