Parent

Class/Module Index [+]

Quicksearch

Rex::PeParsey::PeBase::UnwindInfo

Attributes

count_of_codes[R]
flags[R]
frame_register[R]
frame_register_offset[R]
size_of_prolog[R]
version[R]

Public Class Methods

new(pe, unwind_rva) click to toggle source
# File lib/rex/peparsey/pebase.rb, line 1068
def initialize(pe, unwind_rva)
        data = pe.read_rva(unwind_rva, UNWIND_INFO_HEADER_SZ)

        unwind  = UNWIND_INFO_HEADER.make_struct
        unwind.from_s(data)

        @version               = unwind.v['VersionFlags'] & 0x7
        @flags                 = unwind.v['VersionFlags'] >> 3
        @size_of_prolog        = unwind.v['SizeOfProlog']
        @count_of_codes        = unwind.v['CountOfCodes']
        @frame_register        = unwind.v['FrameRegisterAndOffset'] & 0xf
        @frame_register_offset = unwind.v['FrameRegisterAndOffset'] >> 4

        # Parse unwind codes
        clist = pe.read_rva(unwind_rva + UNWIND_INFO_HEADER_SZ, count_of_codes * 4)

        @unwind_codes = []

        while clist.length > 0
                @unwind_codes << UnwindCode.new(clist)
        end
end

Public Instance Methods

unwind_codes() click to toggle source
# File lib/rex/peparsey/pebase.rb, line 1094
def unwind_codes
        @unwind_codes
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.