Documentation
¶
Index ¶
- Constants
- Variables
- type Arch
- type ByteOrder
- type CodeCallback
- type Context
- type Emulator
- type Hook
- type HookType
- type InterruptCallback
- type InvalidCallback
- type MemProt
- type MemRegion
- type MemoryCallback
- type Pointer
- func (p Pointer) Add(offset uint64) Pointer
- func (p Pointer) Address() uint64
- func (p Pointer) IsNil() bool
- func (p Pointer) MemRead(size uint64) ([]byte, error)
- func (p Pointer) MemReadPointer() (ptr Pointer, err error)
- func (p Pointer) MemReadPtr(size uint64, ptr unsafe.Pointer) error
- func (p Pointer) MemReadString() (string, error)
- func (p Pointer) MemWrite(data []byte) error
- func (p Pointer) MemWritePtr(size uint64, ptr unsafe.Pointer) error
- func (p Pointer) ReadAt(b []byte, off int64) (n int, err error)
- func (p Pointer) Sub(offset uint64) Pointer
- func (p Pointer) WriteAt(b []byte, off int64) (n int, err error)
- type Reg
- type RegisterContext
- type Uintptr32
- type Uintptr64
Constants ¶
View Source
const ( HOOK_TYPE_INTR HookType = 1 << iota HOOK_TYPE_INSN_INVALID HOOK_TYPE_CODE HOOK_TYPE_BLOCK HOOK_TYPE_MEM_READ_UNMAPPED HOOK_TYPE_MEM_WRITE_UNMAPPED HOOK_TYPE_MEM_FETCH_UNMAPPED HOOK_TYPE_MEM_READ_PROT HOOK_TYPE_MEM_WRITE_PROT HOOK_TYPE_MEM_FETCH_PROT HOOK_TYPE_MEM_READ HOOK_TYPE_MEM_WRITE HOOK_TYPE_MEM_FETCH HOOK_TYPE_MEM_READ_AFTER HOOK_TYPE_MEM_UNMAPPED = HOOK_TYPE_MEM_READ_UNMAPPED | HOOK_TYPE_MEM_WRITE_UNMAPPED | HOOK_TYPE_MEM_FETCH_UNMAPPED HOOK_TYPE_MEM_PROT = HOOK_TYPE_MEM_READ_PROT | HOOK_TYPE_MEM_WRITE_PROT | HOOK_TYPE_MEM_FETCH_PROT HOOK_TYPE_MEM_READ_INVALID = HOOK_TYPE_MEM_READ_UNMAPPED | HOOK_TYPE_MEM_READ_PROT HOOK_TYPE_MEM_WRITE_INVALID = HOOK_TYPE_MEM_WRITE_UNMAPPED | HOOK_TYPE_MEM_WRITE_PROT HOOK_TYPE_MEM_FETCH_INVALID = HOOK_TYPE_MEM_FETCH_UNMAPPED | HOOK_TYPE_MEM_FETCH_PROT HOOK_TYPE_MEM_INVALID = HOOK_TYPE_MEM_READ_INVALID | HOOK_TYPE_MEM_WRITE_INVALID | HOOK_TYPE_MEM_FETCH_INVALID HOOK_TYPE_MEM_VALID = HOOK_TYPE_MEM_READ | HOOK_TYPE_MEM_WRITE | HOOK_TYPE_MEM_FETCH )
Variables ¶
View Source
var ( ErrArchUnsupported = errors.New("architecture unsupported") ErrArchMismatch = errors.New("architecture mismatch") )
Functions ¶
This section is empty.
Types ¶
type CodeCallback ¶
type Emulator ¶
type Emulator interface { io.Closer Arch() Arch ByteOrder() ByteOrder PageSize() uint64 MemMap(addr, size uint64, prot MemProt) error MemMapPtr(addr, size uint64, prot MemProt, ptr unsafe.Pointer) error MemUnmap(addr, size uint64) error MemProtect(addr, size uint64, prot MemProt) error MemRegions() ([]MemRegion, error) MemRead(addr, size uint64) ([]byte, error) MemWrite(addr uint64, data []byte) error MemReadPtr(addr, size uint64, ptr unsafe.Pointer) error MemWritePtr(addr, size uint64, ptr unsafe.Pointer) error RegisterContext Start(begin, until uint64) error Stop() error ContextAlloc() (Context, error) Hook(typ HookType, callback any, data any, begin, end uint64) (Hook, error) }
type InterruptCallback ¶
type InvalidCallback ¶
type MemProt ¶
type MemProt int
const ( MEM_PROT_NONE MemProt = 0 MEM_PROT_READ MemProt = 1 << (iota - 1) MEM_PROT_WRITE MEM_PROT_EXEC MEM_PROT_ALL = MEM_PROT_READ | MEM_PROT_WRITE | MEM_PROT_EXEC )
type MemoryCallback ¶
type Pointer ¶
type Pointer struct {
// contains filtered or unexported fields
}
func (Pointer) MemReadPointer ¶
func (Pointer) MemReadString ¶
type RegisterContext ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.