Skip to content

booyah/macho

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

MachO

MachO is a small Ruby library for parsing interesting data from Mach-O binaries. It understands "normal" Mach-O binaries as well as multiarchitecure fat binarys.

It also includes an encryption simulation routine that is helpful in guessing the final size of an encrypted binary.

Parsing

require 'macho'
exec = MachO::Executable.new("MyBinary")
puts "Binary contains %d architectures" % exec.archs.length

Simulating Encryption

The encryption simulation routine modifies the provided binary file by filling its encryption segments with random bytes. You should generally run this step on a copy of your binary.

require 'macho'
MachO::simulate_encrypt("MyBinary")

Compressing the modified binary (using gzip) should give a representative size estimate of how Apple's encryption pass will affect the binary's size.

Contributing

Fork the macho repository on GitHub and send a Pull Request.

Copying

Copyright © 2011, Booyah, Inc. See the COPYING file for license rights and limitations (MIT).

About

A small Ruby library for parsing Mach-O binaries

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages