Class LoadCommandTypes

java.lang.Object
ghidra.app.util.bin.format.macho.commands.LoadCommandTypes

public final class LoadCommandTypes extends Object
  • Field Details

    • LC_REQ_DYLD

      public static final int LC_REQ_DYLD
      After MacOS X 10.1 when a new load command is added that is required to be understood by the dynamic linker for the image to execute properly the LC_REQ_DYLD bit will be or'ed into the load command constant. If the dynamic linker sees such a load command it it does not understand will issue a "unknown load command required for execution" error and refuse to use the image. Other load commands without this bit that are not understood will simply be ignored.
      See Also:
    • LC_SEGMENT

      public static final int LC_SEGMENT
      segment of this file to be mapped
      See Also:
    • LC_SYMTAB

      public static final int LC_SYMTAB
      link-edit stab symbol table info
      See Also:
    • LC_SYMSEG

      public static final int LC_SYMSEG
      link-edit gdb symbol table info (obsolete)
      See Also:
    • LC_THREAD

      public static final int LC_THREAD
      thread
      See Also:
    • LC_UNIXTHREAD

      public static final int LC_UNIXTHREAD
      unix thread (includes a stack)
      See Also:
    • LC_LOADFVMLIB

      public static final int LC_LOADFVMLIB
      load a specified fixed VM shared library
      See Also:
    • LC_IDFVMLIB

      public static final int LC_IDFVMLIB
      fixed VM shared library identification
      See Also:
    • LC_IDENT

      public static final int LC_IDENT
      object identification info (obsolete)
      See Also:
    • LC_FVMFILE

      public static final int LC_FVMFILE
      fixed VM file inclusion (internal use)
      See Also:
    • LC_PREPAGE

      public static final int LC_PREPAGE
      prepage command (internal use)
      See Also:
    • LC_DYSYMTAB

      public static final int LC_DYSYMTAB
      dynamic link-edit symbol table info
      See Also:
    • LC_LOAD_DYLIB

      public static final int LC_LOAD_DYLIB
      load a dynamically linked shared library
      See Also:
    • LC_ID_DYLIB

      public static final int LC_ID_DYLIB
      dynamically linked shared lib ident
      See Also:
    • LC_LOAD_DYLINKER

      public static final int LC_LOAD_DYLINKER
      load a dynamic linker
      See Also:
    • LC_ID_DYLINKER

      public static final int LC_ID_DYLINKER
      dynamic linker identification
      See Also:
    • LC_PREBOUND_DYLIB

      public static final int LC_PREBOUND_DYLIB
      modules prebound for a dynamically linked shared library
      See Also:
    • LC_ROUTINES

      public static final int LC_ROUTINES
      image routines
      See Also:
    • LC_SUB_FRAMEWORK

      public static final int LC_SUB_FRAMEWORK
      sub framework
      See Also:
    • LC_SUB_UMBRELLA

      public static final int LC_SUB_UMBRELLA
      sub umbrella
      See Also:
    • LC_SUB_CLIENT

      public static final int LC_SUB_CLIENT
      sub client
      See Also:
    • LC_SUB_LIBRARY

      public static final int LC_SUB_LIBRARY
      sub library
      See Also:
    • LC_TWOLEVEL_HINTS

      public static final int LC_TWOLEVEL_HINTS
      two-level namespace lookup hints
      See Also:
    • LC_PREBIND_CKSUM

      public static final int LC_PREBIND_CKSUM
      prebind checksum
      See Also:
    • LC_LOAD_WEAK_DYLIB

      public static final int LC_LOAD_WEAK_DYLIB
      load a dynamically linked shared library that is allowed to be missing (all symbols are weak imported)
      See Also:
    • LC_SEGMENT_64

      public static final int LC_SEGMENT_64
      64-bit segment of this file to be mapped
      See Also:
    • LC_ROUTINES_64

      public static final int LC_ROUTINES_64
      64-bit image routines
      See Also:
    • LC_UUID

      public static final int LC_UUID
      specifies the 128 bit UUID for an image
      See Also:
    • LC_RPATH

      public static final int LC_RPATH
      Run path additions
      See Also:
    • LC_CODE_SIGNATURE

      public static final int LC_CODE_SIGNATURE
      local of code signature
      See Also:
    • LC_SEGMENT_SPLIT_INFO

      public static final int LC_SEGMENT_SPLIT_INFO
      local of info to split segments
      See Also:
    • LC_REEXPORT_DYLIB

      public static final int LC_REEXPORT_DYLIB
      load and re-export dylib
      See Also:
    • LC_LAZY_LOAD_DYLIB

      public static final int LC_LAZY_LOAD_DYLIB
      Delay load of dylib until first use
      See Also:
    • LC_ENCRYPTION_INFO

      public static final int LC_ENCRYPTION_INFO
      encrypted segment information
      See Also:
    • LC_DYLD_INFO

      public static final int LC_DYLD_INFO
      compressed dyld information
      See Also:
    • LC_DYLD_INFO_ONLY

      public static final int LC_DYLD_INFO_ONLY
      compressed dyld information only
      See Also:
    • LC_LOAD_UPWARD_DYLIB

      public static final int LC_LOAD_UPWARD_DYLIB
      Load upward dylib
      See Also:
    • LC_VERSION_MIN_MACOSX

      public static final int LC_VERSION_MIN_MACOSX
      Build for MacOSX min OS version
      See Also:
    • LC_VERSION_MIN_IPHONEOS

      public static final int LC_VERSION_MIN_IPHONEOS
      Build for iPhoneOS min OS version
      See Also:
    • LC_FUNCTION_STARTS

      public static final int LC_FUNCTION_STARTS
      Compressed table of function start addresses
      See Also:
    • LC_DYLD_ENVIRONMENT

      public static final int LC_DYLD_ENVIRONMENT
      String for DYLD to treat environment variable
      See Also:
    • LC_MAIN

      public static final int LC_MAIN
      Replacement for LC_UNIXTHREAD
      See Also:
    • LC_DATA_IN_CODE

      public static final int LC_DATA_IN_CODE
      Table of non-instructions in __text
      See Also:
    • LC_SOURCE_VERSION

      public static final int LC_SOURCE_VERSION
      Source version used to build binary
      See Also:
    • LC_DYLIB_CODE_SIGN_DRS

      public static final int LC_DYLIB_CODE_SIGN_DRS
      Code signing DRs copied from linked dylibs
      See Also:
    • LC_ENCRYPTION_INFO_64

      public static final int LC_ENCRYPTION_INFO_64
      64-bit encrypted segment information
      See Also:
    • LC_LINKER_OPTIONS

      public static final int LC_LINKER_OPTIONS
      Linker options in MH_OBJECT files
      See Also:
    • LC_OPTIMIZATION_HINT

      public static final int LC_OPTIMIZATION_HINT
      Optimization hints in MH_OBJECT files
      See Also:
    • LC_VERSION_MIN_TVOS

      public static final int LC_VERSION_MIN_TVOS
      Build for AppleTV min OS version
      See Also:
    • LC_VERSION_MIN_WATCHOS

      public static final int LC_VERSION_MIN_WATCHOS
      Build for Watch min OS version
      See Also:
    • LC_NOTE

      public static final int LC_NOTE
      Arbitrary data included within a Mach-O file
      See Also:
    • LC_BUILD_VERSION

      public static final int LC_BUILD_VERSION
      Build for platform min OS version
      See Also:
    • LC_DYLD_EXPORTS_TRIE

      public static final int LC_DYLD_EXPORTS_TRIE
      Used with linkedit_data_command, payload is trie
      See Also:
    • LC_DYLD_CHAINED_FIXUPS

      public static final int LC_DYLD_CHAINED_FIXUPS
      Used with linkedit_data_command
      See Also:
    • LC_FILESET_ENTRY

      public static final int LC_FILESET_ENTRY
      Used with fileset_entry_command
      See Also:
  • Constructor Details

    • LoadCommandTypes

      public LoadCommandTypes()
  • Method Details

    • getLoadCommandName

      public static final String getLoadCommandName(int type)
      Gets the name of the given load command type
      Parameters:
      type - The load command type
      Returns:
      The name of the given load command type