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.