class Object
Public Instance Methods
macho_info(macho)
click to toggle source
# File bin/macho-info, line 8 def macho_info(macho) puts "FILE INFORMATION:" puts "\tHeader type: #{macho.header.class}" puts "\tMagic: #{macho.magic_string}" puts "\tFiletype: #{macho.filetype}" puts "\tCPU type: #{macho.cputype}" puts "\tCPU subtype: #{macho.cpusubtype}" puts "\tNo. load commands: #{macho.ncmds}" puts "\tSize of load commands: #{macho.sizeofcmds}" puts "\tFlags: #{macho.flags}" puts "\tAlignment: #{macho.alignment}" puts "\nLOAD COMMANDS:" macho.load_commands.each do |lc| puts "\t#{lc} (#{lc.class}) (offset: #{lc.offset}, size: #{lc.cmdsize})" end puts "\nDYLIB ID: #{macho.dylib_id}" if macho.dylib? puts "\nDYNAMIC LIBRARIES:" macho.dylib_load_commands.each do |lc| puts "\t#{lc.name} (#{lc.type})" end puts "\nSEGMENTS AND SECTIONS:" macho.segments.each do |seg| puts "\tSegment: #{seg.segname} " \ "(offset: #{seg.fileoff}, size: #{seg.filesize})" seg.sections.each do |sect| puts "\t\tSection: #{sect.section_name} " \ "(offset: #{sect.offset}, size: #{sect.size})" end end end