quietelf is a post-build sanitization tool for ELF and object files.
It removes debug print statements, SDK-identifying strings, and function name symbols — helping teams ship production binaries that are clean, small, and private.
In embedded and firmware projects, release binaries often leak sensitive information like:
- Debug messages (
printf("Hello from VendorSDK")) - SDK or framework identifiers in string literals
- Function and symbol names embedded in sections like
.symtab - Verbose log strings left behind from development
These not only increase binary size, but also expose internal implementation details — which can reveal:
- Which SDK, RTOS, or chip vendor you use
- Internal debug paths or feature names
- Reverse-engineering hints for attackers
quietelf automatically strips or replaces such data, ensuring your binaries stay quiet and production-ready.
- 🧹 Removes debug/log print strings (e.g.,
printf,pr_info,dev_dbg, etc.) - 🔒 Removes or obfuscates function name strings and SDK identifiers
- 🧰 Works directly on ELF or object files — no need to recompile
- ⚡ Fast and automatable — fits easily into CI/CD pipelines
- 🔧 Customizable pattern lists for fine-grained control
- 📦 Produces smaller, safer binaries
quietelf scans ELF sections like .rodata, .symtab, .strtab, and .debug_*
It detects and removes or replaces:
- Debug/log format strings
- Human-readable identifiers
- Symbol names based on user-configurable filters