"%" means not tested by me personally.
- syscall.sh: Linux ARMv7/AArch64/x86/x86_64 ABI and syscall tables
- %C8051F34x_Glitch: silicon glitching tutorial
- Binary Ninja: interactive native code disassembler, decompiler, and debugger
- BinExport: companion tool for BinDiff
- when building, replace the BN SDK it downloads with a path to BN API library
- SENinja: symbolic execution engine for BN with a debugger-like API, based on Z3
- hexfiles: Intel HEX / Motorola SREC / TI-TXT file loader
- %binja-8051: 8051 architecture
- binja-avnera: Avnera architecture
- binja-m16c: Renesas M16C architecture
- cryptoscan: detector of common cryptographic algorithms
- Rust string slicer: detect Rust strings in code and data
- blob extractor: frontend for unblob
- %mole: static backward slicing through MLIL
- BinExport: companion tool for BinDiff
- %binsync: cross-decompiler (Binary Ninja / Ghidra / IDA) collaboration tool
- BinDiff: comparison tool operating on control flow graphs
- %ReGenny: interactive C/C++ structure reconstruction tool and SDK generator
- %UE4Genny: late Unreal Engine 4 and Unreal Engine 5 SDK generator
- %Source2Gen: Source 2 SDK generator
- dnSpyEx: interactive CLR decompiler and debugger
- %hal: interactive netlist analysis and manipulation tool
- %Pylingual: Python bytecode decompiler and patcher
- WinDbg: Windows kernel and user-mode debugger
- x64dbg: OllyDbg if it was maintained; Windows user-mode x86/x64 debugger
- %BugChecker: SoftICE if it was maintained; preemptive Windows kernel and user-mode debugger; requires PS/2 keyboard and linear framebuffer
- %libdebug: GDB if it had an API; Python interface to GDB with a CTF/RE focus
- rr: deterministic record/replay debugger for Linux x86/x64/arm64
- Unicorn: CPU emulator with fine-grained instrumentation, hooks for memory accesses, Python API, ...
- %PANDA: fork of QEMU with support for whole system record/replay and a plugin system for taint analysis, callgraph tracing, ...
- %Pydgin: Python DSL for generating instruction set simulators
- %usersim: implementation of Windows kernel APIs on top of Windows user-mode APIs, for KMDF driver testing, fuzzing, ...
- %Qiling: emulator for Windows, Linux, macOS, Android, BSD, UEFI, ... kernel and user-mode APIs based on Unicorn
- %Limbo: XNU (Darwin) userspace syscall emulator for Linux
- ExtremeDumper: online .NET assembly dumper
- %Triton: dynamic symbolic execution and LLVM/SMT lifting; "like doing heart surgery with a blender"
- %Shiva: ELF dynamic linker that performs just-in-time symbol (function, data) interposition; AArch64 only
- %wsh: loads ET_DYN ELF files and makes API available for scripting
- %mesos: basic block coverage collector for unmodified Windows user-mode binaries; requires IDA
- NtLua: Windows kernel mode driver with a Lua interpreter, including ntoskrnl exports and x86 intrinsics
- Detours: Windows user-mode API hooking library
- %Frida: Windows/macOS/Linux/Android API tracing and instrumentation tool
- %Avatar2: toplevel runner for other tools (qemu, angr, openocd, ...), primarily for embedded system analysis, debugging, record/replay, ...
- CSharpRepl: C# REPL
- readpe: PE file reader, like
objdump -p
but works better on malware - %wld: transforms ELF executables into ELF shared libraries; arch-independent
- %wcc: transforms ELF/PE/COFF binaries into ELF relocatable object files (unlinker)
- superlinker: combines ET_DYN ELF files with each other and the program interpreter
- %dll-merger: merges PE libraries into executables
- ApplyDeltaB: applies forward/reverse delta patches from Windows Update .msu files or WinSxS
- Detect it Easy: Windows/Linux/macOS/Android/DOS/... executable and archive analysis tool with a focus on malware analysis and protection/compression/... detection
- %Microwalk: static/dynamic microarchitectural leakage detection framework
- %GoReSym: Go symbol recovery based on Go compiler internals
- %Zydis: x86/x64 disassembler with no dependencies or allocations
- %LIEF: ELF/PE/MachO parsing and modification library
- pefile: PE parsing library for Python
- %seer: byte histogram based CPU architecture recognition tool
- cpu_rec: Markov chain based CPU architecture recognition tool
- %allyourbase: fast, FFT-based firmware base address detection tool
- %at51: 8051 firmware reverse engineering tools with a focus on Keil C51
- bingrep: ELF/PE/MachO binary printer, like colorful
objdump
that works well with PE/MachO; not a search tool! - %miasm: disassembly, lifting, symbolic and dynamic execution library
- %angr: disassembly, lifting, and symbolic execution library
- %IAT patcher: replaces an imported function in a PE file with exports from another file
- PE-bear: interactive PE file viewer and editor
- FLOSS:
strings
if it was good and not based on libbfd; searches for C/Rust/Go strings in read-only data sections, stack-allocated strings, strings in vector registers; PE-only - revng: tool to convert machine code fragments into equivalent compilable C code; made by crackheads??
- %angrop: automated ROP gadget search and chain construction
- %Ropper: ROP gadget search and display tool
- apktool: Android application decompiler/recompiler; emits/consumes smali
- jadx: Android application decompiler; emits Java
- de4js: JavaScript deobfuscator and unpacker
- %unpac.me: automated malware unpacking
- binwalk: firmware/filesystem/archive/executable/... analysis tool with an emphasis on semi-unstructured vendor blobs
- unblob: filesystem/archive analysis tool
- %UEFITool: UEFI firmware viewer and editor
- fiedka: SoC firmware viewer (UEFI FFS, coreboot CBFS, AMD PSP/ASP)
- UBI Reader: Python library for Linux UBI/UBIFS extraction and analysis
- %lessmsi: MSI interactive viewer and batch extractor
- %innoextract: Inno Setup installer extractor
- jefferson: Python JFFS2 extractor
- %pyinstxtractor-ng: PyInstaller extractor (has a web version)
- %diffoscope: recursive diff tool for archives (developed for debugging reproducible builds)
- delsum: checksum (modular, Fletcher, and CRC) reverse engineering tools
- biodiff: alignment based file comparison tool
- %yabo: functional heapless binary parser language
- %bgrep: search binary files for data with mask specified as hex
- %MultiRipper: game data archive extraction tool
- %vgmstream: game music playback tool
- %binxelview: tool for extracting pixel arrays from binary files
- %polyfile: libmagic/
file
replacement tailored for polyglot and recursive files
- Wireshark: network protocol analyzer
- %Modlishka: HTTP reverse proxy capable of intercepting TLS
- Universal Radio Hacker: RF demodulation and protocol analysis tool
- %Signalspec: composable digital/analog/radio signal analysis framework
- %bettercap: WiFi/Ethernet/BLE/CAN recoinassance and attack tool
- %DecodeWheaRecord: Windows Hardware Error Architecture (WHEA) record decoder (PCIe errors, firmware errors, machine check errors, ...)
- %ply: Linux kprobe/tracepoint tracer with a custom language and compiler (not dependent on LLVM/BCC)
- System Informer: Windows Task Manager if it was good; displays modules (+ a PE viewer), threads (+ stack trace symbolication), security tokens, environment, memory regions (+ hex dump), handles, named pipes, win32k windows, services and drivers, NT objects, NT memory pools, UEFI/SMBIOS tables, ...
- API Monitor: interactive Windows API tracing tool
- %UIforETW: captures ETW logs without making you remember
tracelog
incantations
- %usbrply: converter from USB
.pcap
packet captures to Python libusb calls - %hgdb: waveform trace based reversible debugger
- %zorrom: physical <> logical mask ROM layout converter
- %rompar: mask ROM optical extraction tool
- %maskromtool: mask ROM optical extraction tool and layout converter
Thanks!