diff --git a/.isort.cfg b/.isort.cfg index 877061e54..a76414a2d 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -2,4 +2,4 @@ indent=' ' not_skip = __init__.py force_single_line = 1 -known_third_party=capstone,unicorn,six,psutil,pycparser +known_third_party=capstone,unicorn,six,psutil,pycparser,gdb diff --git a/pwndbg/__init__.py b/pwndbg/__init__.py index 646bd7273..0a3361d43 100755 --- a/pwndbg/__init__.py +++ b/pwndbg/__init__.py @@ -8,6 +8,7 @@ from __future__ import unicode_literals import sys import gdb + import pwndbg.android import pwndbg.arch import pwndbg.arguments diff --git a/pwndbg/android.py b/pwndbg/android.py index 4abc04436..f8299732f 100644 --- a/pwndbg/android.py +++ b/pwndbg/android.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.color import pwndbg.events import pwndbg.file diff --git a/pwndbg/arch.py b/pwndbg/arch.py index 3bd45fa09..6406c3d55 100644 --- a/pwndbg/arch.py +++ b/pwndbg/arch.py @@ -9,9 +9,9 @@ import collections import struct import sys +import gdb from capstone import * -import gdb import pwndbg.events import pwndbg.memoize import pwndbg.regs diff --git a/pwndbg/arguments.py b/pwndbg/arguments.py index 1df8dca43..75bf672b3 100644 --- a/pwndbg/arguments.py +++ b/pwndbg/arguments.py @@ -9,10 +9,10 @@ from __future__ import division from __future__ import print_function from __future__ import unicode_literals +import gdb from capstone import CS_GRP_CALL from capstone import CS_GRP_INT -import gdb import pwndbg.abi import pwndbg.arch import pwndbg.constants diff --git a/pwndbg/argv.py b/pwndbg/argv.py index 9de3d6b31..f3595caf8 100644 --- a/pwndbg/argv.py +++ b/pwndbg/argv.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.arch import pwndbg.events import pwndbg.memory diff --git a/pwndbg/auxv.py b/pwndbg/auxv.py index 5c0cb3c03..0a340575d 100644 --- a/pwndbg/auxv.py +++ b/pwndbg/auxv.py @@ -10,6 +10,7 @@ import re import sys import gdb + import pwndbg.arch import pwndbg.events import pwndbg.info diff --git a/pwndbg/chain.py b/pwndbg/chain.py index ae06e7caf..4243383d3 100755 --- a/pwndbg/chain.py +++ b/pwndbg/chain.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.color.chain as C import pwndbg.color.memory as M import pwndbg.color.theme as theme @@ -39,8 +40,8 @@ def get(address, limit=LIMIT, offset=0): return result -config_arrow_left = theme.Parameter('chain-arrow-left', u'◂—', 'left arrow of chain formatting') -config_arrow_right = theme.Parameter('chain-arrow-right', u'—▸', 'right arrow of chain formatting') +config_arrow_left = theme.Parameter('chain-arrow-left', '◂—', 'left arrow of chain formatting') +config_arrow_right = theme.Parameter('chain-arrow-right', '—▸', 'right arrow of chain formatting') config_contiguous = theme.Parameter('chain-contiguous-marker', '...', 'contiguous marker of chain formatting') def format(value, limit=LIMIT, code=True, offset=0): diff --git a/pwndbg/commands/__init__.py b/pwndbg/commands/__init__.py index 1e31879bb..3563e8f05 100644 --- a/pwndbg/commands/__init__.py +++ b/pwndbg/commands/__init__.py @@ -11,6 +11,7 @@ import sys import traceback import gdb + import pwndbg.chain import pwndbg.color import pwndbg.enhance diff --git a/pwndbg/commands/argv.py b/pwndbg/commands/argv.py index eb68a05b5..2875269dd 100644 --- a/pwndbg/commands/argv.py +++ b/pwndbg/commands/argv.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.arch import pwndbg.argv import pwndbg.commands diff --git a/pwndbg/commands/aslr.py b/pwndbg/commands/aslr.py index 07420758e..60d9a1c7c 100644 --- a/pwndbg/commands/aslr.py +++ b/pwndbg/commands/aslr.py @@ -8,6 +8,7 @@ from __future__ import unicode_literals import argparse import gdb + import pwndbg.color import pwndbg.commands import pwndbg.proc diff --git a/pwndbg/commands/auxv.py b/pwndbg/commands/auxv.py index 70c85f009..21b956ac0 100644 --- a/pwndbg/commands/auxv.py +++ b/pwndbg/commands/auxv.py @@ -5,9 +5,9 @@ from __future__ import division from __future__ import print_function from __future__ import unicode_literals +import gdb import six -import gdb import pwndbg.auxv import pwndbg.chain import pwndbg.commands diff --git a/pwndbg/commands/checksec.py b/pwndbg/commands/checksec.py index 2707104cd..52f8bd12e 100755 --- a/pwndbg/commands/checksec.py +++ b/pwndbg/commands/checksec.py @@ -9,6 +9,7 @@ import os import subprocess import gdb + import pwndbg.commands import pwndbg.which diff --git a/pwndbg/commands/context.py b/pwndbg/commands/context.py index 6463c1af5..c58ce5e32 100644 --- a/pwndbg/commands/context.py +++ b/pwndbg/commands/context.py @@ -8,6 +8,7 @@ from __future__ import unicode_literals import sys import gdb + import pwndbg.arguments import pwndbg.chain import pwndbg.color diff --git a/pwndbg/commands/cpsr.py b/pwndbg/commands/cpsr.py index 989bba3b6..2c41e09bd 100644 --- a/pwndbg/commands/cpsr.py +++ b/pwndbg/commands/cpsr.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.arch import pwndbg.color import pwndbg.commands diff --git a/pwndbg/commands/defcon.py b/pwndbg/commands/defcon.py index b33f2098d..4ceaf8000 100644 --- a/pwndbg/commands/defcon.py +++ b/pwndbg/commands/defcon.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.commands import pwndbg.memory import pwndbg.symbol diff --git a/pwndbg/commands/dt.py b/pwndbg/commands/dt.py index f5df940c5..75eaf1759 100644 --- a/pwndbg/commands/dt.py +++ b/pwndbg/commands/dt.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.color import pwndbg.commands import pwndbg.dt diff --git a/pwndbg/commands/elf.py b/pwndbg/commands/elf.py index 6641210bb..ffcaf5cc2 100755 --- a/pwndbg/commands/elf.py +++ b/pwndbg/commands/elf.py @@ -5,9 +5,9 @@ from __future__ import division from __future__ import print_function from __future__ import unicode_literals +import gdb from elftools.elf.elffile import ELFFile -import gdb import pwndbg.commands diff --git a/pwndbg/commands/gdbinit.py b/pwndbg/commands/gdbinit.py index 6f48e25d3..e0ccebc44 100644 --- a/pwndbg/commands/gdbinit.py +++ b/pwndbg/commands/gdbinit.py @@ -11,6 +11,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.commands diff --git a/pwndbg/commands/heap.py b/pwndbg/commands/heap.py index 77292c839..0d1750bdb 100755 --- a/pwndbg/commands/heap.py +++ b/pwndbg/commands/heap.py @@ -6,9 +6,9 @@ from __future__ import division from __future__ import print_function from __future__ import unicode_literals +import gdb import six -import gdb import pwndbg.color.memory as M import pwndbg.commands from pwndbg.color import bold diff --git a/pwndbg/commands/ida.py b/pwndbg/commands/ida.py index ea2fc084e..f95532f96 100644 --- a/pwndbg/commands/ida.py +++ b/pwndbg/commands/ida.py @@ -10,6 +10,7 @@ import datetime import os import gdb + import pwndbg.commands import pwndbg.commands.context import pwndbg.ida diff --git a/pwndbg/commands/misc.py b/pwndbg/commands/misc.py index cb74a9cd4..0d42a0b9a 100644 --- a/pwndbg/commands/misc.py +++ b/pwndbg/commands/misc.py @@ -10,6 +10,7 @@ import errno as _errno import struct import gdb + import pwndbg as _pwndbg import pwndbg.arch as _arch import pwndbg.commands diff --git a/pwndbg/commands/nearpc.py b/pwndbg/commands/nearpc.py index 10b339d40..eee018446 100644 --- a/pwndbg/commands/nearpc.py +++ b/pwndbg/commands/nearpc.py @@ -5,9 +5,9 @@ from __future__ import division from __future__ import print_function from __future__ import unicode_literals +import gdb from capstone import * -import gdb import pwndbg.arguments import pwndbg.color.context as C import pwndbg.color.disasm as D diff --git a/pwndbg/commands/next.py b/pwndbg/commands/next.py index d9348b143..26bc75ea9 100644 --- a/pwndbg/commands/next.py +++ b/pwndbg/commands/next.py @@ -9,6 +9,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.commands import pwndbg.next diff --git a/pwndbg/commands/peda.py b/pwndbg/commands/peda.py index 0f570b4b5..e00bd07fe 100644 --- a/pwndbg/commands/peda.py +++ b/pwndbg/commands/peda.py @@ -8,6 +8,7 @@ from __future__ import unicode_literals import sys import gdb + import pwndbg.auxv import pwndbg.commands import pwndbg.commands.context diff --git a/pwndbg/commands/procinfo.py b/pwndbg/commands/procinfo.py index 2b156c06c..9158ef2a3 100644 --- a/pwndbg/commands/procinfo.py +++ b/pwndbg/commands/procinfo.py @@ -9,6 +9,7 @@ import os import string import gdb + import pwndbg.auxv import pwndbg.commands import pwndbg.file diff --git a/pwndbg/commands/reload.py b/pwndbg/commands/reload.py index 9f8b83062..9d397b7ff 100644 --- a/pwndbg/commands/reload.py +++ b/pwndbg/commands/reload.py @@ -11,6 +11,7 @@ import sys import types import gdb + import pwndbg import pwndbg.commands import pwndbg.events diff --git a/pwndbg/commands/rop.py b/pwndbg/commands/rop.py index 2daef5c6d..5aaac6353 100644 --- a/pwndbg/commands/rop.py +++ b/pwndbg/commands/rop.py @@ -11,6 +11,7 @@ import subprocess import tempfile import gdb + import pwndbg.commands import pwndbg.vmmap diff --git a/pwndbg/commands/ropper.py b/pwndbg/commands/ropper.py index 3c7ada6e8..da68b6df7 100644 --- a/pwndbg/commands/ropper.py +++ b/pwndbg/commands/ropper.py @@ -11,6 +11,7 @@ import subprocess import tempfile import gdb + import pwndbg.commands import pwndbg.vmmap diff --git a/pwndbg/commands/search.py b/pwndbg/commands/search.py index 63e7557f9..ed5167dc9 100644 --- a/pwndbg/commands/search.py +++ b/pwndbg/commands/search.py @@ -11,6 +11,7 @@ import os import struct import gdb + import pwndbg.color.memory as M import pwndbg.commands import pwndbg.config diff --git a/pwndbg/commands/segments.py b/pwndbg/commands/segments.py index 1e276edaf..bde7af344 100644 --- a/pwndbg/commands/segments.py +++ b/pwndbg/commands/segments.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.commands import pwndbg.regs diff --git a/pwndbg/commands/shell.py b/pwndbg/commands/shell.py index f8053bdab..bfe6f65db 100644 --- a/pwndbg/commands/shell.py +++ b/pwndbg/commands/shell.py @@ -11,6 +11,7 @@ from __future__ import unicode_literals import os import gdb + import pwndbg.commands import pwndbg.which diff --git a/pwndbg/commands/start.py b/pwndbg/commands/start.py index 93b533e41..cdac9aba9 100644 --- a/pwndbg/commands/start.py +++ b/pwndbg/commands/start.py @@ -10,6 +10,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.commands import pwndbg.elf import pwndbg.events diff --git a/pwndbg/commands/vmmap.py b/pwndbg/commands/vmmap.py index 3d938a3f2..964629963 100644 --- a/pwndbg/commands/vmmap.py +++ b/pwndbg/commands/vmmap.py @@ -8,9 +8,9 @@ from __future__ import division from __future__ import print_function from __future__ import unicode_literals +import gdb import six -import gdb import pwndbg.color.memory as M import pwndbg.commands import pwndbg.compat diff --git a/pwndbg/commands/windbg.py b/pwndbg/commands/windbg.py index 17d2428e8..4e5faf7f0 100644 --- a/pwndbg/commands/windbg.py +++ b/pwndbg/commands/windbg.py @@ -13,6 +13,7 @@ import math import sys import gdb + import pwndbg.arch import pwndbg.commands import pwndbg.memory diff --git a/pwndbg/config.py b/pwndbg/config.py index c2a0f002f..b36fd6d3b 100644 --- a/pwndbg/config.py +++ b/pwndbg/config.py @@ -26,9 +26,8 @@ import collections import sys import types -import six - import gdb +import six TYPES = collections.OrderedDict() diff --git a/pwndbg/disasm/__init__.py b/pwndbg/disasm/__init__.py index 116b664e4..f1041864f 100644 --- a/pwndbg/disasm/__init__.py +++ b/pwndbg/disasm/__init__.py @@ -12,9 +12,9 @@ from __future__ import unicode_literals import collections import capstone +import gdb from capstone import * -import gdb import pwndbg.arch import pwndbg.disasm.arch import pwndbg.ida diff --git a/pwndbg/dt.py b/pwndbg/dt.py index 54eb7c33e..71506183a 100644 --- a/pwndbg/dt.py +++ b/pwndbg/dt.py @@ -15,6 +15,7 @@ import subprocess import tempfile import gdb + import pwndbg.memory import pwndbg.typeinfo diff --git a/pwndbg/elf.py b/pwndbg/elf.py index d9c4bb171..c94659bc8 100644 --- a/pwndbg/elf.py +++ b/pwndbg/elf.py @@ -18,6 +18,7 @@ import subprocess import tempfile import gdb + import pwndbg.auxv import pwndbg.events import pwndbg.info diff --git a/pwndbg/emu/emulator.py b/pwndbg/emu/emulator.py index 11f2924b5..bd82e3a79 100644 --- a/pwndbg/emu/emulator.py +++ b/pwndbg/emu/emulator.py @@ -12,9 +12,9 @@ import binascii import inspect import capstone as C +import gdb import unicorn as U -import gdb import pwndbg.arch import pwndbg.disasm import pwndbg.emu.emulator diff --git a/pwndbg/enhance.py b/pwndbg/enhance.py index b6ed7e7c7..c554659ec 100644 --- a/pwndbg/enhance.py +++ b/pwndbg/enhance.py @@ -16,6 +16,7 @@ from __future__ import unicode_literals import string import gdb + import pwndbg.arch import pwndbg.color as color import pwndbg.color.enhance as E diff --git a/pwndbg/events.py b/pwndbg/events.py index 200f990d3..7f8fb6256 100644 --- a/pwndbg/events.py +++ b/pwndbg/events.py @@ -15,6 +15,7 @@ import sys import traceback import gdb + import pwndbg.config import pwndbg.stdio diff --git a/pwndbg/file.py b/pwndbg/file.py index f1c1ca7d4..856d225b2 100755 --- a/pwndbg/file.py +++ b/pwndbg/file.py @@ -16,6 +16,7 @@ import os import tempfile import gdb + import pwndbg.qemu import pwndbg.remote diff --git a/pwndbg/gcc.py b/pwndbg/gcc.py index 417550a51..0db58fbbb 100644 --- a/pwndbg/gcc.py +++ b/pwndbg/gcc.py @@ -15,6 +15,7 @@ import os import platform import gdb + import pwndbg.arch diff --git a/pwndbg/heap/dlmalloc.py b/pwndbg/heap/dlmalloc.py index f328381f5..2739338b1 100644 --- a/pwndbg/heap/dlmalloc.py +++ b/pwndbg/heap/dlmalloc.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.events import pwndbg.typeinfo diff --git a/pwndbg/heap/ptmalloc.py b/pwndbg/heap/ptmalloc.py index f328381f5..2739338b1 100644 --- a/pwndbg/heap/ptmalloc.py +++ b/pwndbg/heap/ptmalloc.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.events import pwndbg.typeinfo diff --git a/pwndbg/hexdump.py b/pwndbg/hexdump.py index 70618805a..03543c616 100644 --- a/pwndbg/hexdump.py +++ b/pwndbg/hexdump.py @@ -26,7 +26,7 @@ def groupby(array, count, fill=None): yield array[i:i+count] config_colorize_ascii = theme.Parameter('hexdump-colorize-ascii', True, 'whether to colorize the hexdump command ascii section') -config_separator = theme.Parameter('hexdump-ascii-block-separator', u'│', 'block separator char of the hexdump command') +config_separator = theme.Parameter('hexdump-ascii-block-separator', '│', 'block separator char of the hexdump command') @pwndbg.config.Trigger([H.config_normal, H.config_zero, H.config_special, H.config_printable, config_colorize_ascii]) def load_color_scheme(): diff --git a/pwndbg/ida.py b/pwndbg/ida.py index 97d171e01..09384c4b0 100644 --- a/pwndbg/ida.py +++ b/pwndbg/ida.py @@ -19,6 +19,7 @@ import traceback from contextlib import closing import gdb + import pwndbg.arch import pwndbg.compat import pwndbg.elf diff --git a/pwndbg/info.py b/pwndbg/info.py index 1865579aa..a2da10f6b 100644 --- a/pwndbg/info.py +++ b/pwndbg/info.py @@ -11,6 +11,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.memoize diff --git a/pwndbg/inthook.py b/pwndbg/inthook.py index 9fc119078..8d68a6284 100644 --- a/pwndbg/inthook.py +++ b/pwndbg/inthook.py @@ -13,6 +13,7 @@ from __future__ import unicode_literals import sys import gdb + import pwndbg.typeinfo if sys.version_info < (3,0): diff --git a/pwndbg/linkmap.py b/pwndbg/linkmap.py index 9876ce29d..806628813 100644 --- a/pwndbg/linkmap.py +++ b/pwndbg/linkmap.py @@ -11,6 +11,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.elf import pwndbg.events import pwndbg.memoize diff --git a/pwndbg/memoize.py b/pwndbg/memoize.py index d4b0d4431..bdb94b5b4 100644 --- a/pwndbg/memoize.py +++ b/pwndbg/memoize.py @@ -16,6 +16,7 @@ import functools import sys import gdb + import pwndbg.events debug = False diff --git a/pwndbg/memory.py b/pwndbg/memory.py index e1989e34d..68b3e9100 100644 --- a/pwndbg/memory.py +++ b/pwndbg/memory.py @@ -12,6 +12,7 @@ import os import traceback import gdb + import pwndbg.arch import pwndbg.compat import pwndbg.typeinfo diff --git a/pwndbg/next.py b/pwndbg/next.py index 67174faad..2fbe17584 100644 --- a/pwndbg/next.py +++ b/pwndbg/next.py @@ -10,8 +10,8 @@ from __future__ import print_function from __future__ import unicode_literals import capstone - import gdb + import pwndbg.disasm import pwndbg.regs diff --git a/pwndbg/proc.py b/pwndbg/proc.py index 2a98a38a9..b568f10dc 100644 --- a/pwndbg/proc.py +++ b/pwndbg/proc.py @@ -14,6 +14,7 @@ import sys from types import ModuleType import gdb + import pwndbg.memoize import pwndbg.qemu diff --git a/pwndbg/prompt.py b/pwndbg/prompt.py index d72f6d903..3bbd83e66 100644 --- a/pwndbg/prompt.py +++ b/pwndbg/prompt.py @@ -6,6 +6,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.events import pwndbg.memoize import pwndbg.stdio diff --git a/pwndbg/qemu.py b/pwndbg/qemu.py index a20260af6..a6c3d8174 100644 --- a/pwndbg/qemu.py +++ b/pwndbg/qemu.py @@ -10,9 +10,9 @@ from __future__ import unicode_literals import os +import gdb import psutil -import gdb import pwndbg.events import pwndbg.remote diff --git a/pwndbg/regs.py b/pwndbg/regs.py index 5872e4353..da5a23ac7 100644 --- a/pwndbg/regs.py +++ b/pwndbg/regs.py @@ -15,9 +15,9 @@ import re import sys from types import ModuleType +import gdb import six -import gdb import pwndbg.arch import pwndbg.compat import pwndbg.events diff --git a/pwndbg/search.py b/pwndbg/search.py index 61c7e8dac..8cdfcb09c 100644 --- a/pwndbg/search.py +++ b/pwndbg/search.py @@ -11,6 +11,7 @@ from __future__ import unicode_literals import struct import gdb + import pwndbg.arch import pwndbg.memory import pwndbg.typeinfo diff --git a/pwndbg/stack.py b/pwndbg/stack.py index a1a246a4b..8aed6f4d9 100644 --- a/pwndbg/stack.py +++ b/pwndbg/stack.py @@ -13,6 +13,7 @@ from __future__ import print_function from __future__ import unicode_literals import gdb + import pwndbg.events import pwndbg.memoize import pwndbg.memory diff --git a/pwndbg/stdio.py b/pwndbg/stdio.py index c83c4cbb7..bee365b96 100644 --- a/pwndbg/stdio.py +++ b/pwndbg/stdio.py @@ -15,6 +15,7 @@ import os import sys import gdb + import pwndbg.compat diff --git a/pwndbg/strings.py b/pwndbg/strings.py index 348804aac..e8ede8bed 100644 --- a/pwndbg/strings.py +++ b/pwndbg/strings.py @@ -12,6 +12,7 @@ from __future__ import unicode_literals import string import gdb + import pwndbg.events import pwndbg.memory import pwndbg.typeinfo diff --git a/pwndbg/symbol.py b/pwndbg/symbol.py index 552dd1076..85dc2bc84 100644 --- a/pwndbg/symbol.py +++ b/pwndbg/symbol.py @@ -20,9 +20,9 @@ import elftools.common.exceptions import elftools.elf.constants import elftools.elf.elffile import elftools.elf.segments +import gdb import six -import gdb import pwndbg.elf import pwndbg.events import pwndbg.file diff --git a/pwndbg/typeinfo.py b/pwndbg/typeinfo.py index 4ae8b93ea..3c669854d 100644 --- a/pwndbg/typeinfo.py +++ b/pwndbg/typeinfo.py @@ -15,9 +15,9 @@ import subprocess import sys import tempfile +import gdb import six -import gdb import pwndbg.events import pwndbg.gcc import pwndbg.memoize diff --git a/pwndbg/ui.py b/pwndbg/ui.py index 0d3f55ed7..e5d945915 100644 --- a/pwndbg/ui.py +++ b/pwndbg/ui.py @@ -18,7 +18,7 @@ import pwndbg.color.context as C import pwndbg.color.theme as theme import pwndbg.config as config -theme.Parameter('banner-separator', u'─', 'repeated banner separator character') +theme.Parameter('banner-separator', '─', 'repeated banner separator character') def banner(title): title = title.upper() diff --git a/pwndbg/vmmap.py b/pwndbg/vmmap.py index 813420ef9..816603c78 100644 --- a/pwndbg/vmmap.py +++ b/pwndbg/vmmap.py @@ -16,6 +16,7 @@ import os import sys import gdb + import pwndbg.compat import pwndbg.elf import pwndbg.events