Module: Ronin::ASM

Defined in:
lib/ronin/asm/asm.rb,
lib/ronin/asm/os/os.rb,
lib/ronin/asm/config.rb,
lib/ronin/asm/program.rb,
lib/ronin/asm/version.rb,
lib/ronin/asm/os/linux.rb,
lib/ronin/asm/register.rb,
lib/ronin/asm/archs/x86.rb,
lib/ronin/asm/shellcode.rb,
lib/ronin/asm/os/freebsd.rb,
lib/ronin/asm/syntax/att.rb,
lib/ronin/asm/archs/amd64.rb,
lib/ronin/asm/instruction.rb,
lib/ronin/asm/syntax/intel.rb,
lib/ronin/asm/syntax/common.rb,
lib/ronin/asm/memory_operand.rb,
lib/ronin/asm/immediate_operand.rb

Defined Under Namespace

Modules: Archs, Config, OS, Syntax Classes: ImmediateOperand, Instruction, MemoryOperand, Program, Register, Shellcode

Constant Summary collapse

VERSION =

ronin-asm version

'0.2.0'

Class Method Summary collapse

Class Method Details

.new(options = {}) { ... } ⇒ Program

Creates a new Assembly Program.

Examples:

ASM.new do
  mov  1, eax
  mov  1, ebx
  mov  2, ecx

  _loop do
    push  ecx
    imul  ebx, ecx
    pop   ebx

    inc eax
    cmp ebx, 10
    jl  :_loop
  end
end

Parameters:

  • options (Hash{Symbol => Object}) (defaults to: {})

    Additional options.

Options Hash (options):

  • :arch (String, Symbol) — default: :x86

    The architecture of the Program.

  • :variables (Hash{Symbol => Object})

    Variables to set in the program.

Yields:

  • [] The given block will be evaluated within the program.

Returns:

  • (Program)

    The new Assembly Program.



62
63
64
# File 'lib/ronin/asm/asm.rb', line 62

def ASM.new(options={},&block)
  Program.new(options,&block)
end