class Rex::ElfScan::Search::DumpRVA

Attributes

elf[RW]

Public Class Methods

new(elf) click to toggle source
# File lib/rex/elfscan/search.rb, line 9
def initialize(elf)
  self.elf = elf
end

Public Instance Methods

config(param) click to toggle source
# File lib/rex/elfscan/search.rb, line 13
def config(param)
  @address = param['args']
end
scan(param) click to toggle source
# File lib/rex/elfscan/search.rb, line 17
def scan(param)
  config(param)

  $stdout.puts "[#{param['file']}]"

  # Adjust based on -A and -B flags
  pre = param['before'] || 0
  suf = param['after']  || 16

  @address -= pre
  @address = 0 if (@address < 0 || ! @address)
  buf = elf.read_rva(@address, suf)
  $stdout.puts elf.ptr_s(@address) + " " + buf.unpack("H*")[0]
end