maat::env::abi::ABI class

Abstract interface for different ABIs.

Contents

❱   Derived classes

class X64_LINUX_SYSCALL
X64 Linux SYSCALL ABI.

class X64_SYSTEM_V
X64 SYSTEM V ABI.

class X86_CDECL
X86 CDECL ABI.

class X86_LINUX_INT80
X86 Linux INT 0x80 ABI.

class X86_LINUX_SYSENTER
X86 Linux SYSENTER ABI.

class X86_STDCALL
X86 STDCALL ABI.

❱   Public functions

auto type() const -> Type
Return the ABI type.

void prepare_args(MaatEngine& engine, const std::vector<Value>& args) const virtual
Set function arguments.

void get_args(MaatEngine& engine, const args_spec_t& args_spec, std::vector<Value>& args) const virtual
Get function arguments.

auto get_arg(MaatEngine& engine, int n, size_t arg_size) const -> Value virtual
Get function argument number 'n' (starting at 0)

void set_ret_value(MaatEngine& engine, const FunctionCallback::return_t& ret_val) const virtual
Set a function's return value before it returns.

void prepare_ret_address(MaatEngine& engine, addr_t ret_addr) const virtual
Set the return address prior to call a function.

void ret(MaatEngine& engine) const virtual
Return from a function.