Skip to content

Package macho implements access to and creation of Mach-O object files.

License

Notifications You must be signed in to change notification settings

blacktop/go-macho

Repository files navigation

go-macho

Go Go Reference License

Package macho implements access to and creation of Mach-O object files.


Why 🤔

This package goes beyond the Go's debug/macho to:

  • Cover ALL load commands and architectures
  • Provide nice summary string output
  • Allow for creating custom MachO files
  • Parse Objective-C runtime information
  • Parse Swift runtime information
  • Read/Write code signature information
  • Parse fixup chain information

Install

$ go get github.com/blacktop/go-macho

Getting Started

package main

import "github.com/blacktop/go-macho"

func main() {
    m, err := macho.Open("/path/to/macho")
    if err != nil {
        panic(err)
    }
    defer m.Close()

    fmt.Println(m.FileTOC.String())
}

License

MIT Copyright (c) 2020-2024 blacktop