CPU Registers Flashcards

To grasp the core concepts behind Windows exploit development, as detailed here: http://www.securitysift.com/windows-exploit-development-part-1-basics/ (15 cards)

1
Q

What CPU information is displayed in Immunity Debugger?

A

The CPU window displays the memory address, opcode and assembly instructions, additional comments and function names and other information related to CPU instructions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What Register information is displayed in Immunity Debugger?

A

The Register window displays the general purpose registers, instruction pointer and flags associated with the current state of the application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What Stack information is displayed in Immunity Debugger?

A

The Stack window displays the contents of the current stack in memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What Memory Dump information is displayed in Immunity Debugger?

A

The Memory Dump window displays the contents of the application’s memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the 8 CPU Registers?

A

EAX, EBX, ECX, EDX, EDI, ESI, EBP, and ESP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the EAX register?

A

The EAX, or “The Accumulator Register” is the primary register used for calculations e.g. ADD or SUB. EAX uses efficient, one-byte opcodes, making it preferential for writing shellcode which uses limited buffer space. EAX is also used to store the return value of a function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How is each E{A,B,C,D}X register segmented?

A

EAX refers to the complete 32-bit register. {A,B,C,D}X refers to the least significant 16-bits. {A,B,C,D}H refers to the most significant 8-bits of the {A,B,C,D}X. {A,B,C,D}L refers to the least significant 8-bits of the {A,B,C,D}X.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the EBX register?

A

The EBX, or “The Base Register” is a catch-all for available storage. It 32-bit architecture, it does not have a special purpose.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the ECX Register?

A

The ECX, or “The Counter Register” is frequently used as a function and loop repetition counter, although it can be used to store any data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the EDX Register?

A

The EDX, or “The Data Register” is a partner to the EAX register. It is often used in mathematical operations such as division and multiplication. The most significant bits are stored in EDX, and the least in EAX. Also commonly used for storing function variables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the ESI Register?

A

The ESI, or “The Source Index” is used to store the pointer to a read location.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

what is the EDI Register?

A

The EDI, or “The Destination Index” was primarily designed to store the storage pointers of functions, such as the write address of a string operation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the EBP Register?

A

The EBP, or “The Base Pointer” is used to keep track of the bottom/base of the stack. It is used to reference variables on the stack, which are expressed as an offset to the current value of EBP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the ESP Register?

A

The ESP, or “The Stack Pointer” is used to keep track of the top of the stack. As items are moved to and from the stack, the value of ESP increments and decrements accordingly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the EIP Register?

A

The EIP, or “The Instruction Pointer” points to the memory address of the next instruction to be executed by the CPU. Controlling the value of EIP allows an attacker to control the execution flow of the application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly