https://github.com/heavycircle/minelf
minelf is a NASM compiler to build ultra-minified shellcode-ish ELF binaries.
https://github.com/heavycircle/minelf
Last synced: about 1 year ago
JSON representation
minelf is a NASM compiler to build ultra-minified shellcode-ish ELF binaries.
- Host: GitHub
- URL: https://github.com/heavycircle/minelf
- Owner: heavycircle
- Created: 2025-05-26T03:09:57.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-26T03:10:15.000Z (about 1 year ago)
- Last Synced: 2025-06-23T12:54:17.079Z (about 1 year ago)
- Language: Python
- Size: 2.93 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# minelf
> An ASM compiler to build ultra-minified shellcode-ish ELF files.
Ever needed to write super small ELF files for your assembly scripts? Didn't think so. Anyway...
## Description
More information can be found on its [blog post](https://ironforgecyber.com/blog/minelf).
## Usage
`minelf` comes with minimal compilation options.
```bash
usage: minelf [-h] [-o OUTFILE] [--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}] infile
Minified compilation of a NASM script.
positional arguments:
infile Assembly file to compile
options:
-h, --help show this help message and exit
-o OUTFILE, --outfile OUTFILE
Output executable
--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level (default: INFO)
```
`minelf` uses the `BITS` directive in the assembly script to determine the architecture. It automatically adds an `ORG` directive to define a load address.
## Future Upgrades
- [ ] Support AT&T syntax.
- [ ] Better support differences in coding style
- [ ] `.data` before `.text`
- [ ] `_start` not first
- [ ] Starting function that's not `_start`