module OneGadget::ABI
Defines the ABI
of different architectures.
Constants
- AARCH64
Registers of AArch64.
- X86_32
Registers of i386.
- X86_64
Registers of x86_64.
Public Instance Methods
aarch64()
click to toggle source
Registers’ name of aarch64. @return [Array<String>] List of registers.
# File lib/one_gadget/abi.rb, line 33 def aarch64 AARCH64 end
all()
click to toggle source
Returns all names of registers. @return [Array<String>] List of registers.
# File lib/one_gadget/abi.rb, line 39 def all amd64 + aarch64 end
amd64()
click to toggle source
Registers’ name of amd64. @return [Array<String>] List of registers.
# File lib/one_gadget/abi.rb, line 21 def amd64 X86_64 end
i386()
click to toggle source
Registers’ name of i386. @return [Array<String>] List of registers.
# File lib/one_gadget/abi.rb, line 27 def i386 X86_32 end
stack_register?(reg)
click to toggle source
Checks if the register is a stack-related pointer. @param [String] reg
Register's name.
@return [Boolean]
# File lib/one_gadget/abi.rb, line 47 def stack_register?(reg) %w[esp ebp rsp rbp sp x29].include?(reg) end