symtool

Static symbol manipulation tool for ELF and Mach-O objects

Build Status

Installation

Manual installation

Download the latest release for your operating system.

Homebrew (macOS, Linux, Windows Subsystem for Linux)

bash brew tap calebzulawski/symtool http://github.com/calebzulawski/symtool.git brew install symtool

Cargo

bash cargo install symtool

File type support

Supports ELF and Mach-O objects, and archives of objects.

Capability

Examples

Change symbol visibility

Hide all symbols starting with foo and expose all symbols ending in bar. sh symtool --hidden "^foo" --default "bar$" input.o output.o

Rename a symbol

Rename the symbol foo to bar. sh symtool --rename foo bar input.o output.o Note: symbols are renamed in-place so the new name cannot be longer than the original.

Why use symtool?

License

symtool is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.