diff --git a/pwndbg/__init__.py b/pwndbg/__init__.py index b12f91136..881f94cdd 100755 --- a/pwndbg/__init__.py +++ b/pwndbg/__init__.py @@ -5,55 +5,11 @@ import gdb import pwndbg.arguments import pwndbg.color import pwndbg.commands -import pwndbg.commands.argv -import pwndbg.commands.aslr -import pwndbg.commands.attachp -import pwndbg.commands.auxv -import pwndbg.commands.canary -import pwndbg.commands.checksec -import pwndbg.commands.comments -import pwndbg.commands.config -import pwndbg.commands.context -import pwndbg.commands.cpsr -import pwndbg.commands.dt -import pwndbg.commands.dumpargs -import pwndbg.commands.elf -import pwndbg.commands.flags -import pwndbg.commands.gdbinit -import pwndbg.commands.ghidra -import pwndbg.commands.got -import pwndbg.commands.heap -import pwndbg.commands.hexdump -import pwndbg.commands.ida -import pwndbg.commands.ipython_interactive -import pwndbg.commands.leakfind -import pwndbg.commands.memoize -import pwndbg.commands.misc -import pwndbg.commands.mprotect -import pwndbg.commands.next -import pwndbg.commands.p2p -import pwndbg.commands.patch -import pwndbg.commands.peda -import pwndbg.commands.pie -import pwndbg.commands.probeleak -import pwndbg.commands.procinfo -import pwndbg.commands.radare2 -import pwndbg.commands.reload -import pwndbg.commands.rop -import pwndbg.commands.ropper -import pwndbg.commands.search -import pwndbg.commands.segments -import pwndbg.commands.shell -import pwndbg.commands.stack -import pwndbg.commands.start -import pwndbg.commands.telescope -import pwndbg.commands.theme -import pwndbg.commands.tls -import pwndbg.commands.version -import pwndbg.commands.vmmap -import pwndbg.commands.windbg -import pwndbg.commands.xinfo -import pwndbg.commands.xor +import pwndbg.gdblib + +pwndbg.commands.load_commands() +pwndbg.gdblib.load_gdblib() + import pwndbg.constants import pwndbg.disasm import pwndbg.disasm.arm @@ -64,16 +20,6 @@ import pwndbg.disasm.sparc import pwndbg.disasm.x86 import pwndbg.elf import pwndbg.exception -import pwndbg.gdblib.android -import pwndbg.gdblib.arch -import pwndbg.gdblib.argv -import pwndbg.gdblib.dt -import pwndbg.gdblib.events -import pwndbg.gdblib.hooks -import pwndbg.gdblib.memory -import pwndbg.gdblib.prompt -import pwndbg.gdblib.regs -import pwndbg.gdblib.typeinfo import pwndbg.gdbutils.functions import pwndbg.heap import pwndbg.lib.version diff --git a/pwndbg/commands/__init__.py b/pwndbg/commands/__init__.py index 4e7a2b1b1..435c0fde2 100644 --- a/pwndbg/commands/__init__.py +++ b/pwndbg/commands/__init__.py @@ -421,3 +421,55 @@ def HexOrAddressExpr(s): return int(s, 16) except ValueError: return AddressExpr(s) + + +def load_commands(): + import pwndbg.commands.argv + import pwndbg.commands.aslr + import pwndbg.commands.attachp + import pwndbg.commands.auxv + import pwndbg.commands.canary + import pwndbg.commands.checksec + import pwndbg.commands.comments + import pwndbg.commands.config + import pwndbg.commands.context + import pwndbg.commands.cpsr + import pwndbg.commands.dt + import pwndbg.commands.dumpargs + import pwndbg.commands.elf + import pwndbg.commands.flags + import pwndbg.commands.gdbinit + import pwndbg.commands.ghidra + import pwndbg.commands.got + import pwndbg.commands.heap + import pwndbg.commands.hexdump + import pwndbg.commands.ida + import pwndbg.commands.ipython_interactive + import pwndbg.commands.leakfind + import pwndbg.commands.memoize + import pwndbg.commands.misc + import pwndbg.commands.mprotect + import pwndbg.commands.next + import pwndbg.commands.p2p + import pwndbg.commands.patch + import pwndbg.commands.peda + import pwndbg.commands.pie + import pwndbg.commands.probeleak + import pwndbg.commands.procinfo + import pwndbg.commands.radare2 + import pwndbg.commands.reload + import pwndbg.commands.rop + import pwndbg.commands.ropper + import pwndbg.commands.search + import pwndbg.commands.segments + import pwndbg.commands.shell + import pwndbg.commands.stack + import pwndbg.commands.start + import pwndbg.commands.telescope + import pwndbg.commands.theme + import pwndbg.commands.tls + import pwndbg.commands.version + import pwndbg.commands.vmmap + import pwndbg.commands.windbg + import pwndbg.commands.xinfo + import pwndbg.commands.xor diff --git a/pwndbg/gdblib/__init__.py b/pwndbg/gdblib/__init__.py index 049bfafad..343a33b53 100644 --- a/pwndbg/gdblib/__init__.py +++ b/pwndbg/gdblib/__init__.py @@ -4,3 +4,18 @@ from pwndbg.gdblib import arch as arch_mod from pwndbg.gdblib.arch import arch __all__ = ["ctypes", "memory", "typeinfo"] + + +# TODO: should the imports above be moved here? +def load_gdblib(): + import pwndbg.gdblib.android + import pwndbg.gdblib.arch + import pwndbg.gdblib.argv + import pwndbg.gdblib.ctypes + import pwndbg.gdblib.dt + import pwndbg.gdblib.events + import pwndbg.gdblib.hooks + import pwndbg.gdblib.memory + import pwndbg.gdblib.prompt + import pwndbg.gdblib.regs + import pwndbg.gdblib.typeinfo