diff --git a/dev/feed_json_updated.json b/dev/feed_json_updated.json index f42173f82..e7184a51a 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-15T22:27:30+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-16T22:30:00+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 210825692..3a33f0581 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 Sun, 15 Jun 2025 22:29:55 -0000 Sun, 15 Jun 2025 22:29:55 -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 Mon, 16 Jun 2025 22:32:16 -0000 Mon, 16 Jun 2025 22:32:16 -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 c81dcd873..7eab3cc48 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 Sun, 15 Jun 2025 22:29:55 -0000 Sun, 15 Jun 2025 22:29:55 -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, 15 Jun 2025 22:27:30 +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 Mon, 16 Jun 2025 22:32:16 -0000 Mon, 16 Jun 2025 22:32:16 -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/ Mon, 16 Jun 2025 22:30: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/objects.inv b/dev/objects.inv index b2bb9680e..598d846b4 100644 Binary files a/dev/objects.inv and b/dev/objects.inv differ diff --git a/dev/reference/pwndbg/aglib/disasm/arch/index.html b/dev/reference/pwndbg/aglib/disasm/arch/index.html index 6ae966b2e..1be9b4a65 100644 --- a/dev/reference/pwndbg/aglib/disasm/arch/index.html +++ b/dev/reference/pwndbg/aglib/disasm/arch/index.html @@ -24,9 +24,9 @@ module-attribute (pwndbg.aglib.disasm.arch.DO_NOT_EMULATE)" href=#pwndbg.aglib.disasm.arch.DO_NOT_EMULATE>DO_NOT_EMULATE –

DEBUG_ENHANCEMENT module-attribute ¤

DEBUG_ENHANCEMENT = False
-

groups module-attribute ¤

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

ops module-attribute ¤

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

access module-attribute ¤

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

groups module-attribute ¤

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

ops module-attribute ¤

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

access module-attribute ¤

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

ops module-attribute ¤

ops = {v: _ffor (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_')}
+   (pwndbg.aglib.disasm.x86.X86_MATH_INSTRUCTIONS)" href=#pwndbg.aglib.disasm.x86.X86_MATH_INSTRUCTIONS>X86_MATH_INSTRUCTIONS

groups module-attribute ¤

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

ops module-attribute ¤

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

regs module-attribute ¤

regs = {v: _5for (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/repl/proc/index.html b/dev/reference/pwndbg/dbg/lldb/repl/proc/index.html
index f2825ce04..e3dc9c3dd 100644
--- a/dev/reference/pwndbg/dbg/lldb/repl/proc/index.html
+++ b/dev/reference/pwndbg/dbg/lldb/repl/proc/index.html
@@ -1,9 +1,29 @@
- pwndbg.dbg.lldb.repl.proc - Documentation      

proc ¤

Classes:

  • EventHandler

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

  • 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()
+ pwndbg.dbg.lldb.repl.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()
 

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

modules_loaded ¤

modules_loaded()
-

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

ProcessDriver ¤

ProcessDriver(event_handler: EventHandler, debug=False)
+

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

LaunchResult ¤

Base class for results of launch operations.

LaunchResultSuccess ¤

Bases: LaunchResult

Indicates that the process was fully launched or attached to.

LaunchResultEarlyExit ¤

Bases: LaunchResult

Indicates that the process was fully launched or attached to, but that it exited immediately, with no stop events.

LaunchResultConnected ¤

Bases: LaunchResult

Indicates that there has been a successful connection to a remote debugserver, but that no process is being debugged yet.

LaunchResultError ¤

LaunchResultError(what: SBError, disconnected: bool)
+

Bases: LaunchResult

Indicates that there was an error launching the process.

Attributes:

__match_args__ class-attribute instance-attribute ¤

__match_args__ = ('what', 'disconnected')
+

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:

  • 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

  • cancel

    Request that a currently ongoing operation be cancelled.

  • interrupt

    Interrupts the currently running process.

  • 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:

  • IODriver, env: list[str], args: list[str], - working_dir: str, -) -> SBError -

Launches the process and handles startup events. Always stops on first opportunity, and returns immediately after the process has stopped.

Fires the created() event.

attach ¤

attach(target: SBTarget, io: IODriver, info: SBAttachInfo) -> SBError
-

Attach to a process and handles startup events. Always stops on first opportunity, and returns immediately after the process has stopped.

Fires the created() event.

connect ¤

connect(target: SBTarget, io: IODriver, url: str, plugin: str) -> SBError
+    working_dir: str | None,
+) -> LaunchResult
+

Launches the process and handles startup events. Always stops on first opportunity, and returns immediately after the process has stopped.

Fires the created() event.

attach ¤

attach(target: SBTarget, info: SBAttachInfo) -> LaunchResult
+

Attach to a process and handles startup events. Always stops on first opportunity, and returns immediately after the process has stopped.

Fires the created() event.

connect ¤

connect(target: SBTarget, io: IODriver, url: str, plugin: str) -> LaunchResult
 

Connects to a remote proces with the given URL using the plugin with the given name. This might cause the process to launch in some implementations, or it might require a call to launch(), in implementations that require a further call to SBProcess::RemoteLaunch().

Fires the created() event if a process is automatically attached to or launched when a connection succeeds.

\ No newline at end of file diff --git a/dev/reference/pwndbg/lib/elftypes/index.html b/dev/reference/pwndbg/lib/elftypes/index.html index a90bfe251..72e72e508 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: _jfor (k, v) in items()}
+

AT_CONSTANT_NAMES module-attribute ¤

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

constants ¤

Attributes: