Una biblioteca Ruby para examinar y modificar archivos Mach-O.
macOS e iOS (entre otros) utilizan el formato de archivo Mach-O como formato binario de propósito general para archivos de objetos, ejecutables, bibliotecas dinámicas, etc.
ruby-macho se puede instalar a través de RubyGems:
$ gem install ruby-macho
La documentación completa está disponible en RubyDoc.
Un ejemplo rápido de lo que Ruby-Macho puede hacer:
require 'macho'
file = MachO :: MachOFile . new ( "/path/to/my/binary" )
# get the file's type (object, dynamic lib, executable, etc)
file . filetype # => :execute
# get all load commands in the file and print their offsets:
file . load_commands . each do | lc |
puts " #{ lc . type } : offset #{ lc . offset } , size: #{ lc . cmdsize } "
end
# access a specific load command
lc_vers = file [ :LC_VERSION_MIN_MACOSX ] . first
puts lc_vers . version_string # => "10.10.0"
overcommit
y los linters Para mantener ordenados el repositorio, los documentos y los datos, utilizamos una herramienta llamada overcommit
para conectar los ganchos de git a un conjunto de controles de calidad. La forma más rápida de realizar la configuración es ejecutar lo siguiente para asegurarse de tener todas las herramientas:
gem install overcommit bundler
bundle install
overcommit --install
loader.h
de Apple, Inc en cctools/include/mach-o
. (Licencia de fuente pública de Apple 2.0). ruby-macho
tiene la licencia MIT.
Para conocer los términos exactos, consulte el archivo de licencia.