Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/blacktop/go-macho

Package macho implements access to and creation of Mach-O object files.
https://github.com/blacktop/go-macho

apple golang ios macho macho-parser macos

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# go-macho

[![Go](https://github.com/blacktop/go-macho/workflows/Go/badge.svg?branch=master)](https://github.com/blacktop/go-macho/actions) [![Go Reference](https://pkg.go.dev/badge/github.com/blacktop/go-macho.svg)](https://pkg.go.dev/github.com/blacktop/go-macho) [![License](http://img.shields.io/:license-mit-blue.svg)](http://doge.mit-license.org)

> 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

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

## Getting Started

```go
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**