[][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 {far}

IMM16_RET_OPCODES

ret {far} imm16

INT
JMP_CALL_ABS
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

RET_FAR_IMM

ret imm16

RET_NEAR
RET_NEAR_IMM

ret far

SYSCALL_OPCODES

sysenter, int imm8

SYSENTER

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

Functions

filter_dispatcher

Parallel filter to gadgets that may be suitable JOP dispatchers

filter_stack_pivot

Parallel filter to gadgets that write the stack pointer

find_gadgets

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

get_flow_opcodes

Return opcodes relevant to requested search