It also includes an encryption simulation routine that is helpful in guessing the final size of an encrypted binary.
require 'macho' exec = MachO::Executable.new("MyBinary") puts "Binary contains %d architectures" % exec.archs.length
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.
Fork the macho repository on GitHub and send a Pull Request.
Copyright © 2011, Booyah, Inc. Additional contributions Copyright © 2013, Skillz, Inc.
COPYING file for license rights and limitations (MIT).