From 4d1b2d09b5ebb23f77e4c500404f5d63a2b2e66a Mon Sep 17 00:00:00 2001 From: DocBot Date: Tue, 2 Dec 2025 09:46:58 +0000 Subject: [PATCH] Deployed a3721ae 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 42567 -> 42660 bytes .../pwndbg/aglib/disasm/arch/index.html | 4 +- .../pwndbg/aglib/disasm/x86/index.html | 8 ++-- dev/reference/pwndbg/dbg/lldb/index.html | 33 ++++++++++++--- .../pwndbg/dbg/lldb/repl/io/index.html | 39 ++++++++++++------ .../pwndbg/dbg/lldb/repl/proc/index.html | 10 +++-- dev/reference/pwndbg/lib/elftypes/index.html | 2 +- dev/search/search_index.json | 2 +- 11 files changed, 72 insertions(+), 32 deletions(-) diff --git a/dev/feed_json_updated.json b/dev/feed_json_updated.json index 5cb2f36fc..c9703d888 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/stable/", "feed_url": "https://pwndbg.re/stable/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/assets/favicon.ico", "authors": [], "language": "en", "items": [{"id": "https://pwndbg.re/stable/blog/2022/08/21/pwndbg-coding-sprints-report/", "url": "https://pwndbg.re/stable/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-12-02T09:33:51+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/stable/", "feed_url": "https://pwndbg.re/stable/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/assets/favicon.ico", "authors": [], "language": "en", "items": [{"id": "https://pwndbg.re/stable/blog/2022/08/21/pwndbg-coding-sprints-report/", "url": "https://pwndbg.re/stable/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-12-02T09:43:29+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 dba9d73d2..e97602cdb 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/stable/https://github.com/pwndbg/pwndbg/en Tue, 02 Dec 2025 09:36:00 -0000 Tue, 02 Dec 2025 09:36:00 -0000 1440 MkDocs RSS plugin - v1.17.3 https://pwndbg.re/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/stable/ Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/stable/blog/2022/08/21/pwndbg-coding-sprints-report/ Sun, 21 Aug 2022 00:00:00 +0000pwndbg Bloghttps://pwndbg.re/stable/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/stable/https://github.com/pwndbg/pwndbg/en Tue, 02 Dec 2025 09:45:55 -0000 Tue, 02 Dec 2025 09:45:55 -0000 1440 MkDocs RSS plugin - v1.17.3 https://pwndbg.re/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/stable/ Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/stable/blog/2022/08/21/pwndbg-coding-sprints-report/ Sun, 21 Aug 2022 00:00:00 +0000pwndbg Bloghttps://pwndbg.re/stable/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 8ed6f746a..3624ed983 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/stable/https://github.com/pwndbg/pwndbg/en Tue, 02 Dec 2025 09:36:00 -0000 Tue, 02 Dec 2025 09:36:00 -0000 1440 MkDocs RSS plugin - v1.17.3 https://pwndbg.re/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/stable/ Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/stable/blog/2022/08/21/pwndbg-coding-sprints-report/ Tue, 02 Dec 2025 09:33:51 +0000pwndbg Bloghttps://pwndbg.re/stable/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/stable/https://github.com/pwndbg/pwndbg/en Tue, 02 Dec 2025 09:45:55 -0000 Tue, 02 Dec 2025 09:45:55 -0000 1440 MkDocs RSS plugin - v1.17.3 https://pwndbg.re/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/stable/ Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/stable/blog/2022/08/21/pwndbg-coding-sprints-report/ Tue, 02 Dec 2025 09:43:29 +0000pwndbg Bloghttps://pwndbg.re/stable/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 e53fafbb256a3a38717f3e16af79fca40f5bbbf4..5c99921e949f84bba60ffe5ee44b009efc702089 100644 GIT binary patch delta 15182 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 IKf}yhx%r24F#rGn delta 15088 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 –

DEBUG_ENHANCEMENT module-attribute ¤

DEBUG_ENHANCEMENT = False
-

groups module-attribute ¤

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

ops module-attribute ¤

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

groups module-attribute ¤

groups = {v: _2for (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: _wfor (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: _Ufor (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: _mfor (k, v) in (items()) if startswith('X86_REG_')}
-

access module-attribute ¤

access = {v: _4for (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: _cfor (k, v) in (items()) if startswith('X86_GRP_')}
+

ops module-attribute ¤

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

regs module-attribute ¤

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

access module-attribute ¤

access = {v: _ffor (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/index.html b/dev/reference/pwndbg/dbg/lldb/index.html
index 414be0169..797cde2c8 100644
--- a/dev/reference/pwndbg/dbg/lldb/index.html
+++ b/dev/reference/pwndbg/dbg/lldb/index.html
@@ -1,4 +1,4 @@
- lldb - Documentation      

lldb ¤

Modules:

  • hooks

    Code that sets up hooks for LLDB events.

  • pset
  • repl

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

  • util

Classes:

Functions:

  • rename_register

    Some register names differ between Pwndbg/GDB and LLDB. This function takes

  • map_type_code

    Determines the type code of a given LLDB SBType.

Attributes:

likely_output instance-attribute ¤

likely_output: BoundedSemaphore = BoundedSemaphore(1)
 

process instance-attribute ¤

process: SBProcess = None
 

stop_requested instance-attribute ¤

stop_requested: Event = Event()
+

start_requested instance-attribute ¤

start_requested: Semaphore = BoundedSemaphore(2)
+

stop_fulfilled instance-attribute ¤

stop_fulfilled: Semaphore = BoundedSemaphore(2)
+

in_thr instance-attribute ¤

in_thr: Thread = Thread(target=_handle_input)
+

out_thr instance-attribute ¤

out_thr: Thread = Thread(target=_handle_output)
 

stdio ¤

stdio() -> tuple[str | None, str | None, str | None]
 

on_output_event ¤

on_output_event() -> None
 

on_process_start ¤

on_process_start(proc: SBProcess) -> None
 

start ¤

start(process: Process) -> None
 

stop ¤

stop() -> None
+

close ¤

close() -> None
 

IODriverPseudoTerminal ¤

IODriverPseudoTerminal(manager: int, worker: str)
-

Bases: IODriver

pty-based I/O driver. Forwards input from standard input and has support for terminal width and height, and for terminal-based file operations on the program being debugged.

Methods:

Attributes:

stop ¤

stop() -> None
 

on_output_event ¤

on_output_event() -> None
 

on_process_start ¤

on_process_start(proc: SBProcess) -> None
+

close ¤

close() -> None
 

get_io_driver ¤

get_io_driver() -> IODriver
 

Instances a new IODriver using the best strategy available in the current system. Meaning a PTY on Unix and plain text on Windows.

make_pty ¤

make_pty() -> tuple[str, int] | None
 

We need to make a pseudo-terminal ourselves if we want the process to handle naturally for the user. Returns a tuple with the path of the worker device and the file descriptor of the manager device if successful.

\ No newline at end of file diff --git a/dev/reference/pwndbg/dbg/lldb/repl/proc/index.html b/dev/reference/pwndbg/dbg/lldb/repl/proc/index.html index 3e9bc7fec..3801f2cc4 100644 --- a/dev/reference/pwndbg/dbg/lldb/repl/proc/index.html +++ b/dev/reference/pwndbg/dbg/lldb/repl/proc/index.html @@ -1,4 +1,4 @@ - proc - Documentation

proc ¤

Classes:

  • EventHandler

    The event types that make sense for us to track in the process driver aren't

  • LaunchResult

    Base class for results of launch operations.

  • LaunchResultSuccess

    Indicates that the process was fully launched or attached to.

  • LaunchResultEarlyExit

    Indicates that the process was fully launched or attached to, but that it

  • LaunchResultConnected

    Indicates that there has been a successful connection to a remote

  • LaunchResultError

    Indicates that there was an error launching the process.

  • ProcessDriver

    Drives the execution of a process, responding to its events and handling its

EventHandler ¤

The event types that make sense for us to track in the process driver aren't the same as the ones in the rest of Pwndbg, so we just expose the native events in process driver, and let the rest of the REPL deal with any complexities that might arise from the translation.

This is mostly intended to keep the complexity of generating the START and NEW_THREAD events correctly out of the process driver.

Methods:

  • created

    This function is called when a process is created or attached to.

  • suspended

    This function is called when the execution of a process is suspended.

  • resumed

    This function is called when the execution of a process is resumed.

  • exited

    This function is called when a process terminates or is detached from.

  • modules_loaded

    This function is called when a new modules have been loaded.

created ¤

created()
+ proc - Documentation      

proc ¤

Classes:

  • EventHandler

    The event types that make sense for us to track in the process driver aren't

  • LaunchResult

    Base class for results of launch operations.

  • LaunchResultSuccess

    Indicates that the process was fully launched or attached to.

  • LaunchResultEarlyExit

    Indicates that the process was fully launched or attached to, but that it

  • LaunchResultConnected

    Indicates that there has been a successful connection to a remote

  • LaunchResultError

    Indicates that there was an error launching the process.

  • ProcessDriver

    Drives the execution of a process, responding to its events and handling its

EventHandler ¤

The event types that make sense for us to track in the process driver aren't the same as the ones in the rest of Pwndbg, so we just expose the native events in process driver, and let the rest of the REPL deal with any complexities that might arise from the translation.

This is mostly intended to keep the complexity of generating the START and NEW_THREAD events correctly out of the process driver.

Methods:

  • created

    This function is called when a process is created or attached to.

  • suspended

    This function is called when the execution of a process is suspended.

  • resumed

    This function is called when the execution of a process is resumed.

  • exited

    This function is called when a process terminates or is detached from.

  • modules_loaded

    This function is called when a new modules have been loaded.

created ¤

created()
 

This function is called when a process is created or attached to.

suspended ¤

suspended(cause: SBEvent)
 

This function is called when the execution of a process is suspended.

resumed ¤

resumed()
 

This function is called when the execution of a process is resumed.

exited ¤

exited()
@@ -24,7 +24,7 @@
 

what instance-attribute ¤

what = what
 

disconnected instance-attribute ¤

disconnected = disconnected
 

ProcessDriver ¤

ProcessDriver(event_handler: EventHandler, debug=False)
-

Drives the execution of a process, responding to its events and handling its I/O, and exposes a simple synchronous interface to the REPL interface.

Methods:

  • debug_print
  • has_process

    Whether there's an active process in this driver.

  • has_connection

    Whether this driver's connected to a target. All drivers that have an

  • interrupt

    Interrupts the currently running process or command.

  • suspend_interrupts

    Sometimes it's necessary to guard against interruption by

  • cont

    Continues execution of the process this object is driving, and returns

  • run_lldb_command

    Runs the given LLDB command and ataches I/O if necessary.

  • run_coroutine

    Runs the given coroutine and allows it to control the execution of the

  • launch

    Launches the process and handles startup events. Always stops on first

  • attach

    Attach to a process and handles startup events. Always stops on first

  • connect

    Connects to a remote proces with the given URL using the plugin with the

Attributes:

listener instance-attribute ¤

listener: SBListener = None
 

debug instance-attribute ¤

debug: bool = debug
 

eh instance-attribute ¤

eh: EventHandler = event_handler
+

__enter__ ¤

__enter__() -> ProcessDriver
+

__exit__ ¤

__exit__(_exc_type, _exc_val, _exc_tb) -> None
 

debug_print ¤

debug_print(*args, **kwargs) -> None
 

has_process ¤

has_process() -> bool
 

Whether there's an active process in this driver.

has_connection ¤

has_connection() -> bool
 

Whether this driver's connected to a target. All drivers that have an active process also must necessarily be connected.

interrupt ¤

interrupt(in_lldb_command_handler: bool = False) -> None
 

Interrupts the currently running process or command.

suspend_interrupts ¤

suspend_interrupts(interrupt: Callable[[], None] | None = None)
-

Sometimes it's necessary to guard against interruption by self.interrupt, especially when being interrupted would lead to bad process state.

cont ¤

cont() -> None
+

Sometimes it's necessary to guard against interruption by self.interrupt, especially when being interrupted would lead to bad process state.

pause_io_if_running ¤

pause_io_if_running() -> None
+

Pauses the handling of process I/O if it is currently running.

resume_io_if_running ¤

resume_io_if_running() -> None
+

Resumes the handling of process I/O if it is currently running.

cont ¤

cont() -> None
 

Continues execution of the process this object is driving, and returns whenever the process stops.

run_lldb_command ¤

run_lldb_command(command: str, target: BinaryIO) -> None
 

Runs the given LLDB command and ataches I/O if necessary.

run_coroutine ¤

run_coroutine(coroutine: Coroutine[Any, Any, None]) -> bool
 

Runs the given coroutine and allows it to control the execution of the process in this driver. Returns True if the coroutine ran to completion, and False if it was cancelled.

launch ¤

launch(
diff --git a/dev/reference/pwndbg/lib/elftypes/index.html b/dev/reference/pwndbg/lib/elftypes/index.html
index 5546d7c04..8d63e142b 100644
--- a/dev/reference/pwndbg/lib/elftypes/index.html
+++ b/dev/reference/pwndbg/lib/elftypes/index.html
@@ -135,7 +135,7 @@
     47: "AT_L3_CACHEGEOMETRY",
     51: "AT_MINSIGSTKSZ",
 }
-

AT_CONSTANT_NAMES module-attribute ¤

AT_CONSTANT_NAMES = {v: _cfor (k, v) in (items())}
+

AT_CONSTANT_NAMES module-attribute ¤

AT_CONSTANT_NAMES = {v: _Gfor (k, v) in (items())}
 

constants ¤

Attributes: