Class: Indis::ARM::Analyzer::LDRLitAnalyzer

Inherits:
Analyzer
  • Object
show all
Defined in:
lib/indis-arm/analyzer/ldr_lit_analyzer.rb

Instance Method Summary collapse

Constructor Details

#initialize(target) ⇒ LDRLitAnalyzer

Returns a new instance of LDRLitAnalyzer.



9
10
11
# File 'lib/indis-arm/analyzer/ldr_lit_analyzer.rb', line 9

def initialize(target)
  super target, :instruction_mapped
end

Instance Method Details

#instruction_mapped(instr) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/indis-arm/analyzer/ldr_lit_analyzer.rb', line 13

def instruction_mapped(instr)
  return unless instr.class.name == :LDR && instr.class.encoding == :A1_lit
  
  datab = Indis::DataEntity.new(instr.vmaddr+instr.imm+8, 4, @target.vmmap)
  @target.vmmap.map!(datab)
  instr.tags[:value] = datab
  datab.tags[:loaded_by] = instr
end