Strip (Unix)
| strip | |
|---|---|
| Original author(s) | Dennis Ritchie (AT&T Bell Laboratories) |
| Developer(s) | Various open-source and commercial developers |
| Initial release | June 12, 1972 |
| Written in | C |
| Operating system | Unix, Unix-like, Plan 9, Microsoft Windows |
| Platform | Cross-platform |
| Type | Command |
| License | Plan 9: MIT License |
strip is a shell command for removing information from binary executable programs and object files that is not required for execution – typically including debugging data, symbol tables, relocation information, and other metadata. The resulting file generally has a smaller size and potentially has increased performance. The resulting file is known as a stripped binary.
Using strip can enhance the security of an executable by making it more difficult to reverse-engineer. The absence of symbol and debugging information complicates the program analysis of the binary.
The effect of strip can also be achieved via a compiler or linker to perform the same process. For example, in the GNU C compiler (gcc), this is done via the -s option.
The command is available in Unix, Plan 9, and Unix-like systems. The GNU Project includes an implementation in the GNU Binutils package. The command has been implemented in to other operating systems including Windows.