Skip to content

A post-build tool that scans ELF or object files and strips out debug print/log statements (printf, pr_info, etc.) without recompiling. Ideal for production firmware and embedded binaries.

License

Notifications You must be signed in to change notification settings

sidharth-458/quietelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧩 quietelf

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.


🚀 Why quietelf?

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.


⚙️ Features

  • 🧹 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

🧠 How It Works

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

About

A post-build tool that scans ELF or object files and strips out debug print/log statements (printf, pr_info, etc.) without recompiling. Ideal for production firmware and embedded binaries.

Resources

License

Stars

Watchers

Forks

Packages

No packages published