[][src]Module xgadget::gadget

Structs

Gadget

Gadget instructions (data) coupled with occurrence addresses for full and partial matches (metadata). Gadgets sortable by lowest occurrence address. Hash and equality consider only gadget instructions, not occurrence addresses (fast de-duplication via sets).

SearchConfig

Bitflags that control search parameters

Constants

CDECL_RET_OPCODES

ret {far}

IMM16_RET_OPCODES

ret {far} imm16

INT

int opcode (non-imm8)

JMP_CALL_ABS

call r/m16, call r/m32, jmp r/m16, jmp r/m32

JOP_OPCODES

call r/m16, call r/m32, jmp r/m16, jmp r/m32

MAX_INSTR_BYTE_CNT

Max instruction size in bytes

RET_FAR

ret far

RET_FAR_IMM

ret far imm16

RET_NEAR

ret

RET_NEAR_IMM

ret imm16

SYSCALL_OPCODES

sysenter, int imm8

SYSENTER

sysenter first opcode (0x0f 0x34)

Functions

find_gadgets

Search 1+ binaries for ROP gadgets (common gadgets if > 1)

get_flow_opcodes

Return opcodes relevant to requested search