Module: Pwnlib::ABI

Defined in:
lib/pwnlib/abi.rb

Overview

Encapsulates information about a calling convention.

Defined Under Namespace

Classes: ABI, SyscallABI

Constant Summary collapse

DEFAULT =
{
  [32, 'i386', 'linux'] => ABI.new([], 4, 'esp', cdq_pair: %w(eax edx)),
  [64, 'amd64', 'linux'] => ABI.new(%w(rdi rsi rdx rcx r8 r9), 8, 'rsp', cdq_pair: %w(rax rdx))
}.freeze
SYSCALL =
{
  [32, 'i386', 'linux'] => SyscallABI.new(%w(eax ebx ecx edx esi edi ebp), 4, 'esp', 'int 0x80'),
  [64, 'amd64', 'linux'] => SyscallABI.new(%w(rax rdi rsi rdx r10 r8 r9), 8, 'rsp', 'syscall')
}.freeze