Documentation
¶
Index ¶
- Constants
- Variables
- type DEBUGGER_DT_COMMAND_OPTIONS
- type DEBUGGER_EDIT_MEMORY_TYPE
- type DEBUGGER_READ_MEMORY
- type DEBUGGER_READ_MEMORY_ADDRESS_MODE
- type DEBUGGER_READ_MEMORY_TYPE
- type DEBUGGER_READ_READING_TYPE
- type DEBUGGER_SHOW_MEMORY_STYLE
- type GUEST_EXTRA_REGISTERS
- type GUEST_REGS
- type HexBytes
- type HexInt
- type HexString
- type HexUint64
- type INTERRUPT_DESCRIPTOR_TABLE_ENTRIES_PACKETS
- type IO_APIC_ENTRY_PACKETS
- type LAPIC_PAGE
- type PLAPIC_PAGE
- type REGS_ENUM
- type Type
Constants ¶
View Source
const DefaultHyperdbgServer = "http://127.0.0.1:8888/"
View Source
const MAX_NUMBER_OF_IDT_ENTRIES = 256
View Source
const MAX_NUMBER_OF_IO_APIC_ENTRIES = 400
Variables ¶
View Source
var RegistersNames = []string{}/* 120 elements not displayed */
Functions ¶
This section is empty.
Types ¶
type DEBUGGER_EDIT_MEMORY_TYPE ¶
type DEBUGGER_EDIT_MEMORY_TYPE byte
const ( EDIT_VIRTUAL_MEMORY DEBUGGER_EDIT_MEMORY_TYPE = iota EDIT_PHYSICAL_MEMORY )
type DEBUGGER_READ_MEMORY ¶
type DEBUGGER_READ_MEMORY struct {
Pid uint32 // Read from cr3 of what process
Address uint64
Size uint32
GetAddressMode bool // Debugger sets whether the read memory is for diassembler or not
//AddressMode DEBUGGER_READ_MEMORY_ADDRESS_MODE // Debuggee sets the mode of address
MemoryType DEBUGGER_READ_MEMORY_TYPE
ReadingType DEBUGGER_READ_READING_TYPE
}
type DEBUGGER_READ_MEMORY_ADDRESS_MODE ¶
type DEBUGGER_READ_MEMORY_ADDRESS_MODE byte
const ( DEBUGGER_READ_ADDRESS_MODE_32_BIT DEBUGGER_READ_MEMORY_ADDRESS_MODE = iota DEBUGGER_READ_ADDRESS_MODE_64_BIT )
type DEBUGGER_READ_MEMORY_TYPE ¶
type DEBUGGER_READ_MEMORY_TYPE byte
const ( DEBUGGER_READ_PHYSICAL_ADDRESS DEBUGGER_READ_MEMORY_TYPE = iota DEBUGGER_READ_VIRTUAL_ADDRESS )
type DEBUGGER_READ_READING_TYPE ¶
type DEBUGGER_READ_READING_TYPE byte
const ( READ_FROM_KERNEL DEBUGGER_READ_READING_TYPE = iota READ_FROM_VMX_ROOT )
type DEBUGGER_SHOW_MEMORY_STYLE ¶
type DEBUGGER_SHOW_MEMORY_STYLE byte
const ( DEBUGGER_SHOW_COMMAND_DT DEBUGGER_SHOW_MEMORY_STYLE = iota + 1 DEBUGGER_SHOW_COMMAND_DISASSEMBLE64 DEBUGGER_SHOW_COMMAND_DISASSEMBLE32 DEBUGGER_SHOW_COMMAND_DB DEBUGGER_SHOW_COMMAND_DC DEBUGGER_SHOW_COMMAND_DQ DEBUGGER_SHOW_COMMAND_DD DEBUGGER_SHOW_COMMAND_DUMP )
type GUEST_EXTRA_REGISTERS ¶
type GUEST_REGS ¶
type GUEST_REGS struct {
// contains filtered or unexported fields
}
type HexUint64 ¶
type HexUint64 uint64
func (HexUint64) MarshalJSON ¶
func (*HexUint64) UnmarshalJSON ¶
type INTERRUPT_DESCRIPTOR_TABLE_ENTRIES_PACKETS ¶
type INTERRUPT_DESCRIPTOR_TABLE_ENTRIES_PACKETS struct {
KernelStatus uint32
IdtEntry [MAX_NUMBER_OF_IDT_ENTRIES]uint64
}
type IO_APIC_ENTRY_PACKETS ¶
type LAPIC_PAGE ¶
type LAPIC_PAGE struct {
Reserved000 [0x10]byte // 偏移 0x00-0x0F
Reserved010 [0x10]byte // 偏移 0x10-0x1F
Id uint32 // 偏移 0x020 - APIC ID
Reserved024 [0x0C]byte // 偏移 0x024-0x02F
Version uint32 // 偏移 0x030 - 版本号
Reserved034 [0x0C]byte // 偏移 0x034-0x03F
Reserved040 [0x40]byte // 偏移 0x040-0x07F
TPR uint32 // 偏移 0x080 - 任务优先级
Reserved084 [0x0C]byte // 偏移 0x084-0x08F
ArbitrationPriority uint32 // 偏移 0x090 - 仲裁优先级
Reserved094 [0x0C]byte // 偏移 0x094-0x09F
ProcessorPriority uint32 // 偏移 0x0A0 - 处理器优先级
Reserved0A4 [0x0C]byte // 偏移 0x0A4-0x0AF
EOI uint32 // 偏移 0x0B0 - 中断结束寄存器
Reserved0B4 [0x0C]byte // 偏移 0x0B4-0x0BF
RemoteRead uint32 // 偏移 0x0C0 - 远程读寄存器
Reserved0C4 [0x0C]byte // 偏移 0x0C4-0x0CF
LogicalDestination uint32 // 偏移 0x0D0 - 逻辑目标寄存器
Reserved0D4 [0x0C]byte // 偏移 0x0D4-0x0DF
DestinationFormat uint32 // 偏移 0x0E0 - 目标格式寄存器
Reserved0E4 [0x0C]byte // 偏移 0x0E4-0x0EF
SpuriousInterruptVector uint32 // 偏移 0x0F0 - 伪中断向量
Reserved0F4 [0x0C]byte // 偏移 0x0F4-0x0FF
ISR [8]uint32 // 偏移 0x100-0x13F (实际32位数组,分8个32位组存储)
//_ [0x40]byte // 对齐填充 0x140-0x17F
TMR [8]uint32 // 偏移 0x180-0x1BF (实际32位数组,分8个32位组存储)
//_ [0x40]byte // 对齐填充 0x1C0-0x1FF
IRR [8]uint32 // 偏移 0x200-0x23F (实际32位数组,分8个32位组存储)
//_ [0x40]byte // 对齐填充 0x240-0x27F
ErrorStatus uint32 // 偏移 0x280 - 错误状态寄存器
Reserved284 [0x0C]byte // 偏移 0x284-0x28F
Reserved290 [0x60]byte // 偏移 0x290-0x2EF
LvtCmci uint32 // 偏移 0x2F0 - CMCI中断向量
Reserved2F4 [0x0C]byte // 偏移 0x2F4-0x2FF
IcrLow uint32 // 偏移 0x300 - 中断命令寄存器低32位
Reserved304 [0x0C]byte // 偏移 0x304-0x30F
IcrHigh uint32 // 偏移 0x310 - 中断命令寄存器高32位
Reserved314 [0x0C]byte // 偏移 0x314-0x31F
LvtTimer uint32 // 偏移 0x320 - 定时器中断向量
Reserved324 [0x0C]byte // 偏移 0x324-0x32F
LvtThermalSensor uint32 // 偏移 0x330 - 热传感器中断向量
Reserved334 [0x0C]byte // 偏移 0x334-0x33F
LvtPerfMonCounters uint32 // 偏移 0x340 - 性能监控计数器中断向量
Reserved344 [0x0C]byte // 偏移 0x344-0x34F
LvtLINT0 uint32 // 偏移 0x350 - LINT0中断向量
Reserved354 [0x0C]byte // 偏移 0x354-0x35F
LvtLINT1 uint32 // 偏移 0x360 - LINT1中断向量
Reserved364 [0x0C]byte // 偏移 0x364-0x36F
LvtError uint32 // 偏移 0x370 - 错误中断向量
Reserved374 [0x0C]byte // 偏移 0x374-0x37F
InitialCount uint32 // 偏移 0x380 - 初始计数寄存器
Reserved384 [0x0C]byte // 偏移 0x384-0x38F
CurrentCount uint32 // 偏移 0x390 - 当前计数寄存器
Reserved394 [0x0C]byte // 偏移 0x394-0x39F
Reserved3A0 [0x40]byte // 偏移 0x3A0-0x3DF
DivideConfiguration uint32 // 偏移 0x3E0 - 分频配置寄存器
Reserved3E4 [0x0C]byte // 偏移 0x3E4-0x3EF
SelfIpi uint32 // 偏移 0x3F0 - 自中断寄存器(X2APIC)
Reserved3F4 [0x0C]byte // 偏移 0x3F4-0x3FF(X2APIC保留)
}
LAPIC_PAGE 表示本地高级可编程中断控制器(LAPIC)的寄存器页面布局 总大小固定为 0x400 字节 (1024 字节)
type REGS_ENUM ¶
type REGS_ENUM byte
const ( REGISTER_RAX REGS_ENUM = iota REGISTER_EAX REGISTER_AX REGISTER_AH REGISTER_AL REGISTER_RCX REGISTER_ECX REGISTER_CX REGISTER_CH REGISTER_CL REGISTER_RDX REGISTER_EDX REGISTER_DX REGISTER_DH REGISTER_DL REGISTER_RBX REGISTER_EBX REGISTER_BX REGISTER_BH REGISTER_BL REGISTER_RSP REGISTER_ESP REGISTER_SP REGISTER_SPL REGISTER_RBP REGISTER_EBP REGISTER_BP REGISTER_BPL REGISTER_RSI REGISTER_ESI REGISTER_SI REGISTER_SIL REGISTER_RDI REGISTER_EDI REGISTER_DI REGISTER_DIL REGISTER_R8 REGISTER_R8D REGISTER_R8W REGISTER_R8H REGISTER_R8L REGISTER_R9 REGISTER_R9D REGISTER_R9W REGISTER_R9H REGISTER_R9L REGISTER_R10 REGISTER_R10D REGISTER_R10W REGISTER_R10H REGISTER_R10L REGISTER_R11 REGISTER_R11D REGISTER_R11W REGISTER_R11H REGISTER_R11L REGISTER_R12 REGISTER_R12D REGISTER_R12W REGISTER_R12H REGISTER_R12L REGISTER_R13 REGISTER_R13D REGISTER_R13W REGISTER_R13H REGISTER_R13L REGISTER_R14 REGISTER_R14D REGISTER_R14W REGISTER_R14H REGISTER_R14L REGISTER_R15 REGISTER_R15D REGISTER_R15W REGISTER_R15H REGISTER_R15L REGISTER_DS REGISTER_ES REGISTER_FS REGISTER_GS REGISTER_CS REGISTER_SS REGISTER_RFLAGS REGISTER_EFLAGS REGISTER_FLAGS REGISTER_CF REGISTER_PF REGISTER_AF REGISTER_ZF REGISTER_SF REGISTER_TF REGISTER_IF REGISTER_DF REGISTER_OF REGISTER_IOPL REGISTER_NT REGISTER_RF REGISTER_VM REGISTER_AC REGISTER_VIF REGISTER_VIP REGISTER_ID REGISTER_RIP REGISTER_EIP REGISTER_IP REGISTER_IDTR REGISTER_LDTR REGISTER_GDTR REGISTER_TR REGISTER_CR0 REGISTER_CR2 REGISTER_CR3 REGISTER_CR4 REGISTER_CR8 REGISTER_DR0 REGISTER_DR1 REGISTER_DR2 REGISTER_DR3 REGISTER_DR6 REGISTER_DR7 )
Click to show internal directories.
Click to hide internal directories.