https://github.com/tony-go/quickmacho
QuickMacho is a lightweight command-line tool for parsing and analyzing Mach-O binary files on macOS.
https://github.com/tony-go/quickmacho
Last synced: 7 months ago
JSON representation
QuickMacho is a lightweight command-line tool for parsing and analyzing Mach-O binary files on macOS.
- Host: GitHub
- URL: https://github.com/tony-go/quickmacho
- Owner: tony-go
- Created: 2024-11-26T10:06:10.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-27T09:06:32.000Z (7 months ago)
- Last Synced: 2024-11-27T09:28:32.284Z (7 months ago)
- Language: C
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QuickMacho
> ⚠️ **Note:** This project is currently under active development. Features and APIs may change.
QuickMacho is a lightweight command-line tool for parsing and analyzing Mach-O binary files on macOS. It displays information about linked libraries, CPU architectures, and version information for each dynamic library in the binary.
## Features
- Parse both single-architecture and fat (universal) Mach-O binaries
- Display CPU architecture information (x86, x86_64, ARM, ARM64)
- List all linked dynamic libraries
- Show version information for each dynamic library
- Support for various load commands (LC_LOAD_DYLIB, LC_LOAD_WEAK_DYLIB, LC_ID_DYLIB)## Building
QuickMacho uses CMake as its build system. To build the project:
```bash
mkdir build
cd build
cmake ..
make
```## Usage
```bash
./quickmacho
``````
❯ ./quickmacho /bin/ls
Number of architectures: 2
========================================
CPU Type: x86_64
Number of load commands: 18
Load dylib: /usr/lib/libutil.dylib - version: 0.1.0
Load dylib: /usr/lib/libncurses.5.4.dylib - version: 0.5.0
Load dylib: /usr/lib/libSystem.B.dylib - version: 5.65.2
========================================
CPU Type: ARM64
Number of load commands: 19
Load dylib: /usr/lib/libutil.dylib - version: 0.1.0
Load dylib: /usr/lib/libncurses.5.4.dylib - version: 0.5.0
Load dylib: /usr/lib/libSystem.B.dylib - version: 5.65.2
```