Class SegmentCommand

    • Constructor Detail

      • SegmentCommand

        public SegmentCommand()
        DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
    • Method Detail

      • getSections

        public java.util.List<Section> getSections()
      • getSectionContaining

        public Section getSectionContaining​(Address address)
      • getSectionByName

        public Section getSectionByName​(java.lang.String sectionName)
      • getSegmentName

        public java.lang.String getSegmentName()
      • getVMaddress

        public long getVMaddress()
      • getVMsize

        public long getVMsize()
      • getFileOffset

        public long getFileOffset()
      • setFileOffset

        public void setFileOffset​(long fileOffset)
      • getFileSize

        public long getFileSize()
      • getMaxProtection

        public int getMaxProtection()
        Returns a octal model value reflecting the segment's maximum protection value allowed. For example: 7 -> 0x111 -> rwx 5 -> 0x101 -> rx
        Returns:
        the maximum protections of a segment
      • getInitProtection

        public int getInitProtection()
        Returns a octal model value reflecting the segment's initial protection value. For example: 7 -> 0x111 -> rwx 5 -> 0x101 -> rx
        Returns:
        the initial protections of a segment
      • isRead

        public boolean isRead()
        Returns true if the initial protections include READ.
        Returns:
        true if the initial protections include READ
      • isWrite

        public boolean isWrite()
        Returns true if the initial protections include WRITE.
        Returns:
        true if the initial protections include WRITE
      • isExecute

        public boolean isExecute()
        Returns true if the initial protections include EXECUTE.
        Returns:
        true if the initial protections include EXECUTE
      • getNumberOfSections

        public int getNumberOfSections()
      • getFlags

        public int getFlags()
      • isAppleProtected

        public boolean isAppleProtected()
      • toDataType

        public DataType toDataType()
                            throws DuplicateNameException,
                                   java.io.IOException
        Description copied from interface: StructConverter
        Returns a structure datatype representing the contents of the implementor of this interface.

        For example, given:

         class A {
             int foo;
             double bar;
         }
         

        The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.

        Returns:
        returns a structure datatype representing the implementor of this interface
        Throws:
        DuplicateNameException - when a datatype of the same name already exists
        java.io.IOException
        See Also:
        StructureDataType
      • getCommandName

        public java.lang.String getCommandName()
        Description copied from class: LoadCommand
        Returns the name of this command.
        Specified by:
        getCommandName in class LoadCommand
        Returns:
        the name of this command
      • markup

        public void markup​(MachHeader header,
                           FlatProgramAPI api,
                           Address baseAddress,
                           boolean isBinary,
                           ProgramModule parentModule,
                           TaskMonitor monitor,
                           MessageLog log)
        Description copied from class: LoadCommand
        Mark-up the program with the data structures for this load command.
        Specified by:
        markup in class LoadCommand
        Parameters:
        header - the mach header
        api - the flat program api
        baseAddress - the base address to apply the mark-up
        isBinary - true if mach-o was loaded as binary
        parentModule - parent module to create fragments
        monitor - the task monitor
        log - the message logS
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object