From ddc8fe2770d2321ca1138028853923ee67399e17 Mon Sep 17 00:00:00 2001 From: Gulshan Singh Date: Tue, 3 Jan 2023 21:25:10 -0800 Subject: [PATCH] Add start command category (#1500) --- pwndbg/commands/__init__.py | 1 + pwndbg/commands/start.py | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pwndbg/commands/__init__.py b/pwndbg/commands/__init__.py index d1584d189..81def77a5 100644 --- a/pwndbg/commands/__init__.py +++ b/pwndbg/commands/__init__.py @@ -21,6 +21,7 @@ command_names = set() class CommandCategory(str, Enum): + START = "Start" NEXT = "Step/Next/Continue" CONTEXT = "Context" HEAP = "Heap" diff --git a/pwndbg/commands/start.py b/pwndbg/commands/start.py index c416f76ed..5488d3d7f 100644 --- a/pwndbg/commands/start.py +++ b/pwndbg/commands/start.py @@ -12,6 +12,7 @@ import pwndbg.commands import pwndbg.gdblib.elf import pwndbg.gdblib.events import pwndbg.gdblib.symbol +from pwndbg.commands import CommandCategory break_on_first_instruction = False @@ -52,7 +53,7 @@ parser.add_argument( ) -@pwndbg.commands.ArgparsedCommand(parser, aliases=["main", "init"]) +@pwndbg.commands.ArgparsedCommand(parser, aliases=["main", "init"], category=CommandCategory.START) def start(args=None) -> None: if args is None: args = [] @@ -102,7 +103,7 @@ parser.add_argument( ) -@pwndbg.commands.ArgparsedCommand(parser) +@pwndbg.commands.ArgparsedCommand(parser, category=CommandCategory.START) @pwndbg.commands.OnlyWithFile def entry(args=[]) -> None: global break_on_first_instruction @@ -111,7 +112,9 @@ def entry(args=[]) -> None: gdb.execute(run, from_tty=False) -@pwndbg.commands.ArgparsedCommand("Alias for 'tbreak __libc_start_main; run'.") +@pwndbg.commands.ArgparsedCommand( + "Alias for 'tbreak __libc_start_main; run'.", category=CommandCategory.START +) @pwndbg.commands.OnlyWithFile def sstart() -> None: gdb.Breakpoint("__libc_start_main", temporary=True)