3.5 KiB
Tools
Utilities (Linux)
strings
For each file given, strings prints the printable character sequences that are at least 4 characters long (or the
number given with the options below) and are followed by an unprintable character. By default, it only prints the
strings from the initialized and loaded sections of object files. For other types of files, it prints the strings
from the whole file. The main use of strings is to find the contents of non-text files.
$|strings code/a.out
The sum of 1 to 63 is %d.
file
Determine file type
$|file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
$|file /bin/ls
/bin/ls: Mach-O 64-bit executable x86_64
nm
List the symbols in a object file
readelf
Displays information about ELF files
ldd
Displays the shared objects dependencies
lsof
Lists files and other system ressources opened by a process
ltrace
Traces the calls of a process to functions in dynamic libraries
strace
Traces the systems calls of a process
Disassemblers
objdump, otool on macOS
Open-source tools for showing different types of information about object files on Unix-based operating systems.
disassemble
Internal command of gdb
radare2
Open source portable reversing framework
Capstone
Open source lightweight multi-platform, multi-architecture disassembly framework
Ghidra
Free and open source reverse engineering toolset, released by the NSA
Binary Ninja
Commercial, cloud and limited trial versions
IDA Pro
Free and commercial versions
Hopper
Commercial, free trial versions
Decompilers
Hopper, Binary Ninja and Ghidra have embedded decompilers
Hexrays
Commercial plugin for IDA Pro
.NET Reflector
Commercial, free trial versions
JD
Free and open source Java decompiler
uncompyle6
Free and open source Python bytecode decompiler
Debuggers
gdb
open source GNU debugger
LLDB
open source debugger by the LLVM project; the default one in Apple environments
WinDbg
multipurpose debugger for the Microsoft Windows computer operating system, distributed by Microsoft
x64dbg
open source debugger for Microsoft Windows
Emulators
qemu
generic and open source machine emulator and virtualizer
Bochs
highly portable open source IA-32 emulator
Binary Instrumentation Frameworks
Various compilers offer instrumentation capabilities.
PIN
free, closed-source instrumentation framework provided by Intel
Triton
open-source dynamic binary analysis framework
Frida
open-source dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers
QBDI
modular, cross-platform and cross-architecture DBI framework