From c579a92385cb2bed23b41af73f8abe3df6829902 Mon Sep 17 00:00:00 2001 From: DocBot Date: Thu, 5 Jun 2025 23:54:54 +0000 Subject: [PATCH] Deployed 0077cc9 to dev with MkDocs 1.6.1 and mike 2.1.3 --- dev/feed_json_updated.json | 2 +- dev/feed_rss_created.xml | 2 +- dev/feed_rss_updated.xml | 2 +- dev/objects.inv | Bin 36465 -> 36504 bytes .../pwndbg/aglib/disasm/arch/index.html | 6 +- .../pwndbg/aglib/disasm/x86/index.html | 8 +-- dev/reference/pwndbg/dbg/lldb/repl/index.html | 66 +++++++++++------- dev/reference/pwndbg/lib/elftypes/index.html | 2 +- dev/search/search_index.json | 2 +- 9 files changed, 53 insertions(+), 37 deletions(-) diff --git a/dev/feed_json_updated.json b/dev/feed_json_updated.json index dad47cd83..7a843358a 100644 --- a/dev/feed_json_updated.json +++ b/dev/feed_json_updated.json @@ -1 +1 @@ -{"version": "https://jsonfeed.org/version/1", "title": "pwndbg Blog", "home_page_url": "https://pwndbg.re/pwndbg/latest/", "feed_url": "https://pwndbg.re/pwndbg/latest/feed_json_updated.json", "description": "pwndbg (/pa\u028an\u02c8di\u02ccb\u028c\u0261/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.", "icon": "https://pwndbg.re/pwndbg/assets/favicon.ico", "authors": [], "language": "en", "items": [{"id": "https://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/", "url": "https://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/", "title": "Pwndbg coding sprints report", "content_html": "Report of the two coding sprints with Pwndbg\n", "image": null, "date_modified": "2025-06-05T22:10:33+00:00", "authors": [{"name": "Disconnect3d"}], "tags": []}]} \ No newline at end of file +{"version": "https://jsonfeed.org/version/1", "title": "pwndbg Blog", "home_page_url": "https://pwndbg.re/pwndbg/latest/", "feed_url": "https://pwndbg.re/pwndbg/latest/feed_json_updated.json", "description": "pwndbg (/pa\u028an\u02c8di\u02ccb\u028c\u0261/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.", "icon": "https://pwndbg.re/pwndbg/assets/favicon.ico", "authors": [], "language": "en", "items": [{"id": "https://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/", "url": "https://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/", "title": "Pwndbg coding sprints report", "content_html": "Report of the two coding sprints with Pwndbg\n", "image": null, "date_modified": "2025-06-05T23:51:23+00:00", "authors": [{"name": "Disconnect3d"}], "tags": []}]} \ No newline at end of file diff --git a/dev/feed_rss_created.xml b/dev/feed_rss_created.xml index f1a6f02a2..881bb4a8f 100644 --- a/dev/feed_rss_created.xml +++ b/dev/feed_rss_created.xml @@ -1 +1 @@ - pwndbg Blogpwndbg (/paʊnˈdiˌbʌɡ/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.https://pwndbg.re/pwndbg/latest/https://github.com/pwndbg/pwndbg/en Thu, 05 Jun 2025 22:21:11 -0000 Thu, 05 Jun 2025 22:21:11 -0000 1440 MkDocs RSS plugin - v1.17.1 https://pwndbg.re/pwndbg/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/pwndbg/latest/ Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ Sun, 21 Aug 2022 00:00:00 +0000pwndbg Bloghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ \ No newline at end of file + pwndbg Blogpwndbg (/paʊnˈdiˌbʌɡ/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.https://pwndbg.re/pwndbg/latest/https://github.com/pwndbg/pwndbg/en Thu, 05 Jun 2025 23:53:41 -0000 Thu, 05 Jun 2025 23:53:41 -0000 1440 MkDocs RSS plugin - v1.17.1 https://pwndbg.re/pwndbg/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/pwndbg/latest/ Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ Sun, 21 Aug 2022 00:00:00 +0000pwndbg Bloghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ \ No newline at end of file diff --git a/dev/feed_rss_updated.xml b/dev/feed_rss_updated.xml index 2ad318afd..6a4cad808 100644 --- a/dev/feed_rss_updated.xml +++ b/dev/feed_rss_updated.xml @@ -1 +1 @@ - pwndbg Blogpwndbg (/paʊnˈdiˌbʌɡ/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.https://pwndbg.re/pwndbg/latest/https://github.com/pwndbg/pwndbg/en Thu, 05 Jun 2025 22:21:11 -0000 Thu, 05 Jun 2025 22:21:11 -0000 1440 MkDocs RSS plugin - v1.17.1 https://pwndbg.re/pwndbg/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/pwndbg/latest/ Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ Thu, 05 Jun 2025 22:10:33 +0000pwndbg Bloghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ \ No newline at end of file + pwndbg Blogpwndbg (/paʊnˈdiˌbʌɡ/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.https://pwndbg.re/pwndbg/latest/https://github.com/pwndbg/pwndbg/en Thu, 05 Jun 2025 23:53:41 -0000 Thu, 05 Jun 2025 23:53:41 -0000 1440 MkDocs RSS plugin - v1.17.1 https://pwndbg.re/pwndbg/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/pwndbg/latest/ Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ Thu, 05 Jun 2025 23:51:23 +0000pwndbg Bloghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ \ No newline at end of file diff --git a/dev/objects.inv b/dev/objects.inv index 396aa29d32ffb2c6bea6fcff795e1b5779c05060..d3deae5b680768846974757858506adae5d417b5 100644 GIT binary patch delta 9903 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 h8<=8h?+1h`LW;X|5yM3 delta 9880 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�RdFGM;>6+ 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 –

DEBUG_ENHANCEMENT module-attribute ¤

DEBUG_ENHANCEMENT = False
-

groups module-attribute ¤

groups = {v: _Efor (k, v) in items() if startswith('CS_GRP_')}
-

ops module-attribute ¤

ops = {v: _zfor (k, v) in items() if startswith('CS_OP_')}
-

access module-attribute ¤

access = {v: _3for (k, v) in items() if startswith('CS_AC_')}
+

groups module-attribute ¤

groups = {v: _Sfor (k, v) in items() if startswith('CS_GRP_')}
+

ops module-attribute ¤

ops = {v: _afor (k, v) in items() if startswith('CS_OP_')}
+

access module-attribute ¤

access = {v: _xfor (k, v) in items() if startswith('CS_AC_')}
 

DO_NOT_EMULATE module-attribute ¤

DO_NOT_EMULATE = {CS_GRP_INT, CS_GRP_INVALID, CS_GRP_IRET}
 

DisassemblyAssistant ¤

DisassemblyAssistant(architecture: X86_MATH_INSTRUCTIONS

groups module-attribute ¤

groups = {v: _2for (k, v) in items() if startswith('X86_GRP_')}
-

ops module-attribute ¤

ops = {v: _lfor (k, v) in items() if startswith('X86_OP_')}
-

regs module-attribute ¤

regs = {v: _Cfor (k, v) in items() if startswith('X86_REG_')}
-

access module-attribute ¤

access = {v: _ofor (k, v) in items() if startswith('CS_AC_')}
+   (pwndbg.aglib.disasm.x86.X86_MATH_INSTRUCTIONS)" href=#pwndbg.aglib.disasm.x86.X86_MATH_INSTRUCTIONS>X86_MATH_INSTRUCTIONS

groups module-attribute ¤

groups = {v: _0for (k, v) in items() if startswith('X86_GRP_')}
+

ops module-attribute ¤

ops = {v: _Jfor (k, v) in items() if startswith('X86_OP_')}
+

regs module-attribute ¤

regs = {v: _Nfor (k, v) in items() if startswith('X86_REG_')}
+

access module-attribute ¤

access = {v: _4for (k, v) in items() if startswith('CS_AC_')}
 

X86_MATH_INSTRUCTIONS module-attribute ¤

X86_MATH_INSTRUCTIONS = {
     X86_INS_ADD: "+",
     X86_INS_SUB: "-",
diff --git a/dev/reference/pwndbg/dbg/lldb/repl/index.html b/dev/reference/pwndbg/dbg/lldb/repl/index.html
index 314f7b728..46005e03c 100644
--- a/dev/reference/pwndbg/dbg/lldb/repl/index.html
+++ b/dev/reference/pwndbg/dbg/lldb/repl/index.html
@@ -1,4 +1,4 @@
- pwndbg.dbg.lldb.repl - Documentation      

repl ¤

The Pwndbg REPL that is the interface to all debugging on LLDB.

Pwndbg has an event system that allows it to react to events in the process being debugged, such as when new executable modules get added to the its address space, when the value of memory and registers change, and pretty much all possible changes to its execution state. We'd like to have the event system work the same way under LLDB as it does under GDB.

Fortunately for us, the events types that are native to LLDB map really well to the event types in GDB and Pwndbg. Very, very unfortunately for us, however, that's basically where our luck ends.

LLDB, as of version 18, only provides two ways to capture events: registering directly with the broadcaster, or registering globally. The former is not available to us in the standard LLDB REPL, as we don't get access to the process object until after it's been launched1. Likewise for the latter, as the interactive debugger will register to receive the global process state change events before everyone else, and LLDB doesn't allow for multiple listeners for the same event bits in the same event class2.

This leaves us with handling process management ourselves as the only option we really have to implement event dispatch in Pwndbg. Easy, right? We can just hijack the commands that deal with target and process creation, and leave everything else untouched. Unfortunately for us, again, shadowing builtin commands is simply not allowed3.

So, really, all that's left for us is either implement our own REPL, or get rid of the event system.

Modules:

  • io

    For our REPL, we need to drive our own I/O with the process being debugged. This

  • proc
  • readline

    Readline interface for the Pwndbg LLDB REPL.

Classes:

  • EventRelay

    The event system that is sensible for the REPL process driver to use isn't

  • YieldExecDirect

    Execute the given command directly, on behalf of the user.

  • YieldInteractive

    Prompt the user for the next command.

  • PwndbgController

    Class providing interfaces for a client to control the behavior of Pwndbg

Functions:

  • lex_args

    Splits the arguments, respecting quotation marks.

  • show_greeting

    Show the Pwndbg greeting, the same way the GDB version of Pwndbg would. This

  • print_error

    Print an error message in the style of the LLDB CLI.

  • print_warn

    Print a warning message in the style of the LLDB CLI.

  • run

    Runs the Pwndbg CLI through the given asynchronous controller.

  • exec_repl_command

    Parses and runs the given command, returning whether the event loop should continue.

  • parse

    Parses a list of string arguments into an object containing the parsed

  • run_ipython_shell
  • target_create

    Creates a new target, registers it with the Pwndbg LLDB implementation, and

  • process_launch

    Launches a process with the given arguments.

  • process_attach

    Attaches to a process with the given arguments.

  • attach

    Attaches to a process with the given name or pid based on regex match.

  • process_connect

    Connects to the given remote process.

  • gdb_remote

    Like process_connect, but more lenient with the remote URL format.

  • continue_process

    Continues the execution of a process.

Attributes: