Homebrew / Ruby Macho
Licence: mit
🔩 A pure-Ruby library for parsing Mach-O files.
Stars: ✭ 153
Programming Languages
ruby
36898 projects - #4 most used programming language
Projects that are alternatives of or similar to Ruby Macho
punic
Punic is a remote cache CLI built for Carthage and Apple .xcframework
Stars: ✭ 25 (-83.66%)
Mutual labels: homebrew, apple
brewfile
🍎 Brewfile to install softwares in macOS for engineers
Stars: ✭ 37 (-75.82%)
Mutual labels: homebrew, apple
meta-package-manager
🎁 a wrapper around all package managers
Stars: ✭ 277 (+81.05%)
Mutual labels: homebrew, ruby-gem
Clean-macOS
💻 A simple script to setup a clean environment on macOS
Stars: ✭ 155 (+1.31%)
Mutual labels: homebrew, apple
Watchpresenter
⌚️ 🤓 Controlling your Keynote using Apple Watch
Stars: ✭ 145 (-5.23%)
Mutual labels: apple
Instagramactivityindicator
Activity Indicator similar to Instagram's.
Stars: ✭ 138 (-9.8%)
Mutual labels: apple
Flappy Fly Bird
🐦 Flappy Bird reincarnation [Swift 5.3, GameplayKit, SpriteKit, iOS 12].
Stars: ✭ 150 (-1.96%)
Mutual labels: apple
San Francisco Family
All the fonts in San Francisco family font, developed by Apple. Including new SF Camera font from iOS 13!
Stars: ✭ 141 (-7.84%)
Mutual labels: apple
Bender
Easily craft fast Neural Networks on iOS! Use TensorFlow models. Metal under the hood.
Stars: ✭ 1,728 (+1029.41%)
Mutual labels: apple
Apple Device Model List
All Apple devices model name list. 通过内部编号判断 iOS 设备型号。
Stars: ✭ 149 (-2.61%)
Mutual labels: apple
Forcefulldesktopbar
Utility for macOS that modifies the Dock process so that the desktop bar in Mission Control is always full size and showing previews
Stars: ✭ 139 (-9.15%)
Mutual labels: apple
Goldleaf
🍂 Multipurpose homebrew tool for Nintendo Switch
Stars: ✭ 2,026 (+1224.18%)
Mutual labels: homebrew
Citro3d
Homebrew PICA200 GPU wrapper library for Nintendo 3DS
Stars: ✭ 143 (-6.54%)
Mutual labels: homebrew
Opensurge
A fun 2D retro platformer inspired by Sonic games and a game creation system.
Stars: ✭ 143 (-6.54%)
Mutual labels: homebrew
ruby-macho
A Ruby library for examining and modifying Mach-O files.
What is a Mach-O file?
The Mach-O file format is used by macOS and iOS (among others) as a general purpose binary format for object files, executables, dynamic libraries, and so forth.
Installation
ruby-macho can be installed via RubyGems:
$ gem install ruby-macho
Documentation
Full documentation is available on RubyDoc.
A quick example of what ruby-macho can do:
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"
What works?
- Reading data from x86/x86_64/PPC Mach-O files
- Changing the IDs of Mach-O and Fat dylibs
- Changing install names in Mach-O and Fat files
- Adding, deleting, and modifying rpaths.
What needs to be done?
- Unit and performance testing.
Attribution:
- Constants were taken from Apple, Inc's
loader.h
incctools/include/mach-o
. (Apple Public Source License 2.0).
License
ruby-macho
is licensed under the MIT License.
For the exact terms, see the license file.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].