Module: Elf::Policy::Hacks

Defined in:
lib/mithril/policy/default/hacks.rb

Class Method Summary collapse

Class Method Details

.initializer_functions(filename) ⇒ Object



2
3
4
5
6
7
8
# File 'lib/mithril/policy/default/hacks.rb', line 2

def self.initializer_functions(filename)
  lib = `objdump -D #{filename} | grep -B 3  'callq.*libc_start_main' `
  init_addr = /\$0x([0-9a-f]*),\%r8/.match(lib)[1].to_i(16)
  fini_addr = /\$0x([0-9a-f]*),\%rcx/.match(lib)[1].to_i(16)
  main_addr = /\$0x([0-9a-f]*),\%rdi/.match(lib)[1].to_i(16)
  [init_addr,fini_addr,main_addr]
end