Parent

Class/Module Index [+]

Quicksearch

Rex::MachScan::Scanner::Generic

Attributes

fat[RW]
mach[RW]
regex[RW]

Public Class Methods

new(binary) click to toggle source
# File lib/rex/machscan/scanner.rb, line 9
def initialize(binary)
        if binary.class == Rex::MachParsey::Mach
                self.mach = binary
        else
                self.fat = binary
        end
end

Public Instance Methods

config(param) click to toggle source
# File lib/rex/machscan/scanner.rb, line 17
def config(param)
end
scan(param) click to toggle source
# File lib/rex/machscan/scanner.rb, line 20
def scan(param)
                config(param)

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

                if !self.mach
                        for mach in fat.machos
                                if mach.mach_header.cputype == 0x7 #since we only support intel for the time being its all we process
                                        self.mach = mach
                                end
                        end
                end

                self.mach.segments.each do |segment|
                        if segment.segname.include? "__TEXT"
                                scan_segment(segment, param).each do |hit|
                                        vaddr  = hit[0]
                                        message  = hit[1].is_a?(Array) ? hit[1].join(" ") : hit[1]
                                        $stdout.puts self.mach.ptr_s(vaddr - self.mach.fat_offset) + " " + message
                                end
                        end
                end

end
scan_segment(segment, param={}) click to toggle source
# File lib/rex/machscan/scanner.rb, line 45
def scan_segment(segment, param={})
        []
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.