class Metasm::Dalvik::DexMethod

Attributes

dex[RW]
midx[RW]
off[RW]

Public Class Methods

new(dex, midx) click to toggle source
# File metasm/cpu/dalvik/main.rb, line 28
def initialize(dex, midx)
        @dex = dex
        @midx = midx
        if @dex and m = @dex.methods[midx] and c = @dex.classes[m.classidx] and c.data and
                me = (c.data.direct_methods+c.data.virtual_methods).find { |mm| mm.methodid == midx }
                # FIXME this doesnt work
                @off = me.codeoff + me.code.insns_off
        end
end

Public Instance Methods

symbolic(di=nil) click to toggle source
# File metasm/cpu/dalvik/main.rb, line 38
def symbolic(di=nil)
        self
end
to_s() click to toggle source
# File metasm/cpu/dalvik/main.rb, line 42
def to_s
        if @dex and m = @dex.methods[@midx]
                t = @dex.types[m.classidx]
                t = t[1...-1] if t[0, 1] == 'L' and t[-1, 1] == ';'
                t + '->' + @dex.strings[m.nameidx]
                #dex.encoded.inv_export[@off]
        else
                "method_#@midx"
        end
end