Une bibliothèque Ruby pour examiner et modifier les fichiers Mach-O.
Le format de fichier Mach-O est utilisé par macOS et iOS (entre autres) comme format binaire à usage général pour les fichiers objets, les exécutables, les bibliothèques dynamiques, etc.
ruby-macho peut être installé via RubyGems :
$ gem install ruby-macho
La documentation complète est disponible sur RubyDoc.
Un exemple rapide de ce que Ruby-Macho peut faire :
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
et les linters Afin de garder le dépôt, les documents et les données bien rangés, nous utilisons un outil appelé overcommit
pour connecter les hooks git à un ensemble de contrôles de qualité. Le moyen le plus rapide de procéder à la configuration consiste à exécuter la commande suivante pour vous assurer que vous disposez de tous les outils :
gem install overcommit bundler
bundle install
overcommit --install
loader.h
d'Apple, Inc dans cctools/include/mach-o
. (Licence de source publique Apple 2.0). ruby-macho
est sous licence MIT.
Pour les conditions exactes, consultez le fichier de licence.