Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jakeajames/dylibify
Transform any ARM macho executable to a dynamic library
https://github.com/jakeajames/dylibify
Last synced: 15 days ago
JSON representation
Transform any ARM macho executable to a dynamic library
- Host: GitHub
- URL: https://github.com/jakeajames/dylibify
- Owner: jakeajames
- License: mit
- Created: 2018-07-16T12:51:59.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-08-24T11:02:21.000Z (about 2 years ago)
- Last Synced: 2024-07-03T06:32:21.466Z (4 months ago)
- Language: Objective-C
- Size: 20.5 KB
- Stars: 73
- Watchers: 4
- Forks: 21
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# dylibify
Transform any ARM macho executable to a dynamic library# How this works?
It's my really first time playing with Mach-O's like this so don't expect top quality code/explanation, but in a nutshell here's what it does:- Patch mach header so it is identified as a dylib instead of an executable and add MH_NO_REEXPORTED_DYLIBS flag
- Get rid of PAGEZERO since with it we can't load the dylib
- Add a LC_ID_DYLIB command where PAGEZERO previously was to identify the dylib
- Patch opcodes: Since we got rid of PAGEZERO we have one less segment thus we need to patch whatever is referencing to SEGMENT X to SEGMENT X-1.
- Look into the code comments for more details