strip (Unix)
This article needs additional citations for verification. (December 2020) |
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.[1]
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.[2] For example, in the GNU C compiler (gcc), this is done via the -s
option.[2]
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.
See also
[edit]- Dead code elimination – Compiler optimization to remove code which does not affect the program results
- Debug symbol – special kind of symbol that attaches additional information to the symbol table of an object file, such as a shared library or an executable, allowing a symbolic debugger to gain access to information from the source code of the binary
- Executable compression – Means of compressing an executable file
- List of POSIX commands
- strings (Unix) – Shell command for extracting printable text from a binary file
- Symbol table – Data structure used by a language translator such as a compiler or interpreter
References
[edit]- ^ "Linux Strip Command". www.computerhope.com. Retrieved 2024-10-01.
- ^ a b "What is the difference between "gcc -s" and a "strip" command?". Stack Overflow. Retrieved 2024-10-01.
- "strip", The Single UNIX Specification, Version 2, The Open Group, 1997
External links
[edit]- The Single UNIX Specification, Version 4 from The Open Group – Shell and Utilities Reference,
- Plan 9 Programmer's Manual, Volume 1 –