Another info gather post, this time about misc. debugging and reverse engineering software tools (debuggers, tracers, call loggers, network sniffers etc.) Just a messy (and unfinished) list for now (may be updated later…)

Software debugging tools

U-xs (GNU/Linux, *BSD, …):

  • gdb, ddd
  • pstack
  • strace, ktrace, ltrace, ftrace, latrace, mutextrace, xtrace, etrace
  • LTT (Linux Trace Toolkit) / LTTng: trace, traceview
  • truss, sotruss
  • gprof (call graph profile data)
  • valgrind
  • dtrace
  • systemtap
  • dprobes, kprobes
  • perf-tools (kprobe, io/open/execsnoop, functrace, …)
  • ptrace, python-ptrace
  • cheat engine (for games but not only…)
  • debugfs
  • kdump
  • gcore (dumping process mem / core)
  • DynamoRio
  • Flawfinder
  • cppcheck
  • ld / ldd
    • LD_PRELOAD
    • LD_BIND_NOW (and -Wl, -znow) - resolve functions on load (not on the 1st call/lazy way)
    • ldd and LD_DEBUG

Windows:

  • sysinternals tools: filemon, process explorer, …
  • SoftICE (DOS, Win31, 95, .. , XP)
  • OllyDbg
  • x64dbg

Java:

Network monitoring

  • tcpdump
  • wireshark

Disassemblers, hex editors, analysers

  • IDA (Interactive disassembler) (and IDA Pro - commercial…)
  • Biew / Beye (u-x), Hiew (DOS / Windows)
  • ht

Decompilers

Other bin utils

  • objdump
  • nm
  • elfedit
  • strip
  • c++filt

On-line tools

Related talks: