Skip to main content

Mach-O header analysis and editing

Project description

macholib can be used to analyze and edit Mach-O headers, the executable format used by Mac OS X.

It’s typically used as a dependency analysis tool, and also to rewrite dylib references in Mach-O headers to be @executable_path relative.

Though this tool targets a platform specific file format, it is pure python code that is platform and endian independent.

Release history

macholib 1.4

macholib 1.4 is a feature release

Features:

  • Documentation is now generated using sphinx and can be viewed at <http://packages.python.org/macholib>.

  • The repository has moved to bitbucket

  • There now is a testsuite

  • Private functionality inside modules was renamed to a name starting with an underscore.

  • The basic packable types in macholib.ptypes were renamed to better represent the corresponding C type. The table below lists the old an new names (the old names are still available, but are deprecated and will be removed in a future release).

    Old name

    New name

    p_byte

    p_int8

    p_ubyte

    p_uint8

    p_short

    p_int16

    p_ushort

    p_uint16

    p_int

    p_int32

    p_uint

    p_uint32

    p_long

    p_int32

    p_ulong

    p_uint32

    p_longlong

    p_int64

    p_ulonglong

    p_uint64

    Macholib.ptypes.p_ptr is no longer present as it had an unclear definition and isn’t actually used in the codebase.

Bug fixes:

  • The semantics of dyld.dyld_default_search were changed a bit, it now first searches the framework path (if appropriate) and then the linker path, irrespective of the value of the DYLD_FALLBACK* environment variables.

    Previous versions would change the search order when those variables was set, which is odd and doesn’t correspond with the documented behaviour of the system dyld.

  • It is once again possible to install using python2.5

  • The source distribution includes all files, this was broken due to the switch to mercurial (which confused setuptools)

macholib 1.3

macholib 1.3 is a feature release.

Features:

  • Experimental Python 3.x support

    This version contains lightly tested support for Python 3.

macholib 1.2.2

macholib 1.2.2 is a bugfix release.

Bug fixes:

  • Macholib should work better with 64-bit code (patch by Marc-Antoine Parent)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

macholib-1.4.tar.gz (46.3 kB view details)

Uploaded Source

File details

Details for the file macholib-1.4.tar.gz.

File metadata

  • Download URL: macholib-1.4.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for macholib-1.4.tar.gz
Algorithm Hash digest
SHA256 1fab53fe814b46f72f4272339bc06e17d79161e9bcf112aafd4952288f144bf3
MD5 0cf137397fc7ea4813835a38ed475fd1
BLAKE2b-256 0708c940196e6144f5b58267aa7005a711feca66d1f137aadabcaabf27913b4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page