..
ntrop
Usage
Usage: ntrop [OPTIONS] -- <FILES>...
Arguments:
<FILES>... Input files to compress
Options:
-l, --list Shows various information about the files such as compression ratio
-s, --strip Strip target(s) before packing
-o, --output <OUTPUT> Set the output filename(s), use '*' as a wildcard [default: *.ntp]
-f, --filter-level <LOG_LEVEL> Set the log level filter [default: INFO] [possible values: OFF, ERROR, WARN, INFO, DEBUG, TRACE]
-h, --help Print help
-V, --version Print version
Supported Targets
x86 (IA-32) | x86_64 (AMD64) | Armv6 (ARM32) | AArch64 (ARM64) | |
Windows | ✅ pe32/x86 | ✅ pe64/x86_64 | ⌛ pe32/arm32 | ⌛ pe64/arm64 |
Linux | ✅ elf32/x86 | ✅ elf64/x86_64 | ⌛ elf32/arm32 | ⌛ elf64/arm64 |
Mac | ⌛ macho/i386 | ⌛ macho/amd64 | ⌛ macho/arm | ⌛ macho/arm64 |
Windows
- PE/COFF Parsing
- PE Loading
- Properly support non-relocatable binaries (however rare, it’s possible to fail as windows may use their ImageBase address to load a library such as ntdll)
- Warn user about CF_GUARD enabled images
- Fix IMAGE_OPTIONAL_HEADER(32/64) CheckSum field as described here and here
Linux
- Startup implementation, and linker scripts:
- x86, x86_64
- ⌛ arm
- aarch64, alpha, hppa, htl, hurd, i386, ia64, m68k, mach, microblaze, mips nios2, nptl, powerpc, riscv, s390, sparc
Mac
- Mach-O Parsing as described Apple’s OS X ABI Mach-O File Format Reference
- Implement a Mach-O loader, documented in Apple’s Macho-O Programming Topics
- Integrate Macho-O stub generation into the build system
- Have the main executable identify and modify the generated the stub
- Add cross-platform MacOS testing, probably through the use of Podman for speed
Releases
⚠️ Releases temporarily yanked due to Microsoft Defender false-positives. ⚠️