|
RoboDBG
|
Main Debugger file. More...
#include <windows.h>#include <string>#include <vector>#include <tlhelp32.h>#include <iostream>#include <iomanip>#include <sstream>#include <unordered_map>#include <tchar.h>#include <stdio.h>#include <psapi.h>#include <map>#include <fstream>#include <winternl.h>#include <intrin.h>#include "util.h"Go to the source code of this file.
Classes | |
| struct | RoboDBG::thread_t |
| Represents a thread in a debugged process. More... | |
| struct | RoboDBG::hwBp_t |
| Hardware breakpoint configuration. More... | |
| struct | RoboDBG::MemoryRegion_t |
| Represents a memory region in a process. More... | |
| class | RoboDBG::Debugger |
| Main Debugger class. More... | |
Enumerations | |
| enum | RoboDBG::BreakpointAction { RoboDBG::BREAK , RoboDBG::RESTORE , RoboDBG::SINGLE_STEP } |
| Specifies the action to take when a breakpoint is hit. More... | |
| enum class | RoboDBG::AccessType { EXECUTE , WRITE , READWRITE } |
| Specifies the type of memory access that triggers a hardware breakpoint. More... | |
| enum class | RoboDBG::DRReg { NOP = -1 , DR0 = 0 , DR1 = 1 , DR2 = 2 , DR3 = 3 } |
| Hardware debug registers used for breakpoints. More... | |
| enum class | RoboDBG::BreakpointLength { BYTE = 0 , WORD = 1 , DWORD = 2 , QWORD = 3 } |
| Length of the hardware breakpoint watch. More... | |
| enum class | RoboDBG::Flags32 : DWORD { CF = 1 << 0 , PF = 1 << 2 , AF = 1 << 4 , ZF = 1 << 6 , SF = 1 << 7 , TF = 1 << 8 , IF = 1 << 9 , DF = 1 << 10 , OF = 1 << 11 } |
| x86 CPU status flags. More... | |
| enum class | RoboDBG::Register32 { } |
| 32-bit x86 general-purpose registers. More... | |
Main Debugger file.
Definition in file debugger.h.
|
strong |
Specifies the type of memory access that triggers a hardware breakpoint.
| Enumerator | |
|---|---|
| EXECUTE | Trigger when executing instructions at the address. |
| WRITE | Trigger when writing to the address. |
| READWRITE | Trigger when reading from or writing to the address. |
Definition at line 47 of file debugger.h.
Specifies the action to take when a breakpoint is hit.
| Enumerator | |
|---|---|
| BREAK | Stop execution at the breakpoint. |
| RESTORE | Restore the original instruction at the breakpoint. |
| SINGLE_STEP | Perform a single-step execution after hitting the breakpoint. |
Definition at line 37 of file debugger.h.
|
strong |
Length of the hardware breakpoint watch.
| Enumerator | |
|---|---|
| BYTE | 1 byte. |
| WORD | 2 bytes. |
| DWORD | 4 bytes. |
| QWORD | 8 bytes. |
Definition at line 69 of file debugger.h.
|
strong |
Hardware debug registers used for breakpoints.
| Enumerator | |
|---|---|
| NOP | No register assigned. |
| DR0 | Debug register 0. |
| DR1 | Debug register 1. |
| DR2 | Debug register 2. |
| DR3 | Debug register 3. |
Definition at line 57 of file debugger.h.
|
strong |
x86 CPU status flags.
| Enumerator | |
|---|---|
| CF | Carry Flag. |
| PF | Parity Flag. |
| AF | Auxiliary Carry Flag. |
| ZF | Zero Flag. |
| SF | Sign Flag. |
| TF | Trap Flag. |
| IF | Interrupt Enable Flag. |
| DF | Direction Flag. |
| OF | Overflow Flag. |
Definition at line 132 of file debugger.h.
|
strong |
32-bit x86 general-purpose registers.
| Enumerator | |
|---|---|
| EIP | Instruction Pointer. |
Definition at line 160 of file debugger.h.