Pwndbg Versions Save

Exploit Development and Reverse Engineering with GDB Made Easy

2019.01.25

5 years ago

This release brings a lot of bugfixes, update to Capstone 4.0.1, better r2 sync support and some other enhancements.

Thanks for all external contributors:

  • @sudhackar
  • @gymgit
  • @skysider
  • @equation314
  • @matrix1001
  • @GrosQuildu
  • @ZetaTwo
  • @adamtanana
  • @Dom-1
  • @ClaudiaJKang

Changes:

  • Updated Capstone to 4.0.1 - this adds more instructions that can be disassembled properly and fixes the setup on recent stable version after Capstone got updated
  • Fixed SPARC architecture support (#573)
  • Pwndbg doesn't set a limit on print elements anymore (#590)
  • Added a bugreport command (#533)
  • Added support of PIE binaries for r2 (#567)
  • Added support for heap tcache on targets w/o -lpthread (#552)
  • context code now displays the source file path (#526)
  • Better support for Rust binaries: added missing types (#559)
  • probeleak now displays symbols if the address corresponds to one (#572)
  • Fixed r2 sync trying to get pc when the process wasn't running (#584)
  • Fixed source code display crashing when it had unicode chars (#578)
  • Fixed a bug in emulator on non-x86 architectures when the return address was not restored properly (#555)
  • Fixed a bug when enhancing display of instruction that dereferenced memory (#587)
  • Fixed a bug with gdb 8.2 (#575)
  • Fixed a bug that crashed pwndbg when debugging mips binary when run on qemu-mips (#569)
  • Fixed some bugs related to heap commands (#563, #537, #546)
  • Fixed setup.sh for some distros (#551, #549, #540)
  • Pwndbg will now check if added command overrides commands that were registered before launching pwndbg (from other plugins or built-in commands) (#543)
  • Fixed got command (#531)

2018.07.29

5 years ago

Pwndbg 1.1

We haven't done releases for some time but hopefully this release will change that habbit.

Below you can see a detailed changelog of what has been changed.

Changelog

  • Added/updated/modified commands:
    • next_syscall renamed to nextsyscall
    • breakrva - break at offset of given executable (default main binary; e.g. breakrva 0x123 will set a breakpoint at binary_base+0x123)
    • piebase - rebase given address for given executable
    • probeleak - scan for pointers in the specified memory (#492)
    • stepret - step until we step into a ret (#448)
    • stepsyscall - step until we step into a syscall (#447)
    • tcache - support for ptmalloc's thread cache (#420)
    • vis_heap_chunks - visualize heap chunks at the specified address (#496)
    • eX windbg commands family now supports hex data prefixed with 0x (e.g. eq $rsp 0xCAFEBABE will work the same as eq $rsp cafebabe)
    • context - it is now possible to set empty context (e.g. set context-sections)
    • hexdump, nearpc, telescope - improved repeat functionality (#395)
    • vmmap_add, vmmap_load - it is possible to add memory pages manually (might be useful for bare metal debugging - see #385)
    • version - displays capstone, unicorn, IDA and Hexrays versions
    • xinfo - display extended offset information
  • Added/updated config parameters:
    • ida-enabled - control whether pwndbg try to connect to IDA xmlrpc server (enabled by default to preserve old behavior)
    • nearpc-show-args - control whether context displays an args section
  • Added detection of bare metal mode and making de-reference only works on known pages in it (see #385 and vmmap_load and vmmap_add commands)
  • Added $rebase(address) function (use e.g. as break *$rebase(some_address); see also breakrva and piebase commands)
  • Added syntax highlightning for disassembled code and source code
  • Made everything themeable <3 (see theme and https://github.com/pwndbg/pwndbg-themes)
  • Improved IDA Pro xmlrpc (see #442)
  • Added basic support for Rust language (see #431)
  • Added $rebase(addr) function
  • Fixed heap's find_fake_chunk (see #435)
  • Fixed pwndbg crash on non-English GDB version (see #430)
  • Emulator profiling and performance improvement (see #421)
  • The aarch64/arm64 context now displays frame pointer register (x29)
  • Improved detection of extended-remote types
  • Fixes for both Py2 and Py3
  • Fix nearpc following jumps when used w/o emulation (#499)
  • Fix: wrong regs display on threaded targets (#488, #495)
  • Exceptions now show info about exception-debugger config parameter (#501)
  • Added tests engine
  • ...and probably some more ;)

Thanks to all who contributed to this release:

2017.02.01

7 years ago

This release of Pwndbg includes a large number of bug fixes, and the following new or updated commands:

  • Heap functionality is greatly increased
    • bins
    • fastbins
    • largebins
    • mp
    • smallbins
    • unsortedbin
  • configfile and themefile will save your settings to a file easily added to ~/.gdbinit

2016.09.22

7 years ago
  • Add CheatEngine style searching

    • See #103
  • Fix Windbg command byte-endianness

    • See #105
  • Fix VDSO and Linker mappings under QEMU (#91)

    • Better virtual memory info in QEMU
  • Mark $pc as executable upon resuming execution (#90)

    • Better virtual memory info in QEMU
  • Remove input-radix and output-radix configuration options

    • These were confusing to lots of people
    • You can restore the behavior via:
    set output-radix 0x10
    set input-radix  0x10
    

2016.09.12

7 years ago

First tagged release.