From 22f48c4133dd4c99e0b7debf4b449f342a7e79f2 Mon Sep 17 00:00:00 2001 From: DocBot Date: Thu, 5 Jun 2025 22:22:27 +0000 Subject: [PATCH] Deployed 0f97f0f 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 36355 -> 36465 bytes .../pwndbg/aglib/disasm/arch/index.html | 6 +- .../pwndbg/aglib/disasm/x86/index.html | 8 +- .../pwndbg/aglib/kernel/paging/index.html | 3 +- .../pwndbg/aglib/kernel/vmmap/index.html | 72 +++++++++++++++++- dev/reference/pwndbg/lib/elftypes/index.html | 2 +- dev/search/search_index.json | 2 +- 10 files changed, 82 insertions(+), 17 deletions(-) diff --git a/dev/feed_json_updated.json b/dev/feed_json_updated.json index 8a79b2e4b..dad47cd83 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-05T19:27:50+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-05T22:10:33+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 3ff42728f..f1a6f02a2 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 19:32:42 -0000 Thu, 05 Jun 2025 19:32:42 -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 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 diff --git a/dev/feed_rss_updated.xml b/dev/feed_rss_updated.xml index 41ee25a3e..2ad318afd 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 19:32:42 -0000 Thu, 05 Jun 2025 19:32:42 -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 19:27:50 +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 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 diff --git a/dev/objects.inv b/dev/objects.inv index 78dd5e2e10835e2c3cc84400d3f35ca1dcf05100..396aa29d32ffb2c6bea6fcff795e1b5779c05060 100644 GIT binary patch delta 25124 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�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 –

DEBUG_ENHANCEMENT module-attribute ¤

DEBUG_ENHANCEMENT = False
-

groups module-attribute ¤

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

ops module-attribute ¤

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

access module-attribute ¤

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

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_')}
 

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: _kfor (k, v) in items() if startswith('X86_GRP_')}
-

ops module-attribute ¤

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

regs module-attribute ¤

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

access module-attribute ¤

access = {v: _Tfor (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: _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_')}
 

X86_MATH_INSTRUCTIONS module-attribute ¤

X86_MATH_INSTRUCTIONS = {
     X86_INS_ADD: "+",
     X86_INS_SUB: "-",
diff --git a/dev/reference/pwndbg/aglib/kernel/paging/index.html b/dev/reference/pwndbg/aglib/kernel/paging/index.html
index 144aaf15b..0b2acef00 100644
--- a/dev/reference/pwndbg/aglib/kernel/paging/index.html
+++ b/dev/reference/pwndbg/aglib/kernel/paging/index.html
@@ -1,4 +1,4 @@
- pwndbg.aglib.kernel.paging - Documentation      

paging ¤

Functions:

Attributes:

\ No newline at end of file diff --git a/dev/reference/pwndbg/aglib/kernel/vmmap/index.html b/dev/reference/pwndbg/aglib/kernel/vmmap/index.html index d742d1ae7..3ffbc84c1 100644 --- a/dev/reference/pwndbg/aglib/kernel/vmmap/index.html +++ b/dev/reference/pwndbg/aglib/kernel/vmmap/index.html @@ -1,4 +1,4 @@ - pwndbg.aglib.kernel.vmmap - Documentation

vmmap ¤

Classes:

Functions:

Attributes:

QemuMachine ¤

QemuMachine()
+

KernelVmmap ¤

KernelVmmap(pages: tuple[Page, ...])
+

Methods:

Attributes:

USERLAND class-attribute instance-attribute ¤

USERLAND = 'userland'
+

KERNELLAND class-attribute instance-attribute ¤

KERNELLAND = 'kernel [.text]'
+

KERNELRO class-attribute instance-attribute ¤

KERNELRO = 'kernel [.rodata]'
+

KERNELBSS class-attribute instance-attribute ¤

KERNELBSS = 'kernel [.bss]'
+

KERNELDRIVER class-attribute instance-attribute ¤

KERNELDRIVER = 'kernel [.driver .bpf]'
+

ESPSTACK class-attribute instance-attribute ¤

ESPSTACK = '%esp fixup'
+

pages instance-attribute ¤

pages = pages
+

sections instance-attribute ¤

sections = None
+

kbase instance-attribute ¤

kbase = find_kbase(pages)
+

get_name ¤

get_name(addr: int) -> str
+

adjust ¤

adjust()
+

handle_user_pages ¤

handle_user_pages(user_idx)
+

handle_kernel_pages ¤

handle_kernel_pages(kernel_idx)
+

handle_offsets ¤

handle_offsets()
+

QemuMachine ¤

QemuMachine()
 

Bases: Machine

Methods:

read_register ¤

read_register(register_name: str) -> int
 

kernel_vmmap_via_page_tables ¤

kernel_vmmap_via_page_tables() -> tuple[Page, ...]
 

kernel_vmmap_via_monitor_info_mem ¤

kernel_vmmap_via_monitor_info_mem() -> tuple[Page, ...]
-

Returns Linux memory maps information by parsing monitor info mem output from QEMU kernel GDB stub. Works only on X86/X64/RISC-V as this is what QEMU supports.

Consider using the kernel_vmmap_via_page_tables method as it is probably more reliable/better.

See also: !685 (TODO: revisit with future QEMU versions)

Example output from the command:¤

pwndbg> monitor info mem¤

ffff903580000000-ffff903580099000 0000000000099000 -rw¤

ffff903580099000-ffff90358009b000 0000000000002000 -r-¤

ffff90358009b000-ffff903582200000 0000000002165000 -rw¤

ffff903582200000-ffff903582803000 0000000000603000 -r-¤

kernel_vmmap ¤

kernel_vmmap() -> tuple[Page, ...]
+

Returns Linux memory maps information by parsing monitor info mem output from QEMU kernel GDB stub. Works only on X86/X64/RISC-V as this is what QEMU supports.

Consider using the kernel_vmmap_via_page_tables method as it is probably more reliable/better.

See also: !685 (TODO: revisit with future QEMU versions)

Example output from the command:¤

pwndbg> monitor info mem¤

ffff903580000000-ffff903580099000 0000000000099000 -rw¤

ffff903580099000-ffff90358009b000 0000000000002000 -r-¤

ffff90358009b000-ffff903582200000 0000000002165000 -rw¤

ffff903582200000-ffff903582803000 0000000000603000 -r-¤

kernel_vmmap ¤

kernel_vmmap(process_pages=True) -> tuple[Page, ...]
 
\ 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 cb8bd1643..5ef362b72 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: _3for (k, v) in items()}
+

AT_CONSTANT_NAMES module-attribute ¤

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

constants ¤

Attributes: