From 909ca307916f39608dc197c8f6e77f2d371a28b5 Mon Sep 17 00:00:00 2001 From: DocBot Date: Mon, 6 Oct 2025 21:42:26 +0000 Subject: [PATCH] Deployed b7e53ce to dev with MkDocs 1.6.1 and mike 2.1.3 --- dev/commands/kernel/klookup/index.html | 4 ++-- dev/feed_json_updated.json | 2 +- dev/feed_rss_created.xml | 2 +- dev/feed_rss_updated.xml | 2 +- dev/objects.inv | Bin 40953 -> 40974 bytes .../pwndbg/aglib/disasm/arch/index.html | 6 +++--- .../pwndbg/aglib/disasm/x86/index.html | 6 +++--- .../pwndbg/aglib/kernel/kallsyms/index.html | 6 +++--- .../pwndbg/commands/cymbol/index.html | 4 +++- .../pwndbg/commands/klookup/index.html | 2 +- dev/reference/pwndbg/dbg/gdb/index.html | 2 +- dev/reference/pwndbg/dbg/index.html | 2 +- dev/reference/pwndbg/dbg/lldb/index.html | 2 +- .../pwndbg/dbg/lldb/repl/fuzzy/index.html | 2 +- dev/reference/pwndbg/lib/elftypes/index.html | 2 +- dev/search/search_index.json | 2 +- 16 files changed, 24 insertions(+), 22 deletions(-) diff --git a/dev/commands/kernel/klookup/index.html b/dev/commands/kernel/klookup/index.html index 06ad4e05c..5a1400198 100644 --- a/dev/commands/kernel/klookup/index.html +++ b/dev/commands/kernel/klookup/index.html @@ -1,2 +1,2 @@ - Klookup - Documentation
Skip to content

klookup¤

usage: klookup [-h] symbol
-

Lookup kernel symbols

Positional arguments¤

Positional Argument Help
symbol Address or symbol name to lookup

Optional arguments¤

Short Long Help
-h --help show this help message and exit
\ No newline at end of file + Klookup - Documentation
Skip to content

klookup¤

usage: klookup [-h] [-a] [symbol]
+

Lookup kernel symbols

Alias: kallsyms

Positional arguments¤

Positional Argument Help
symbol Address or symbol name to lookup

Optional arguments¤

Short Long Help
-h --help show this help message and exit
-a --apply applies all the symbols that satisfy the filter
\ No newline at end of file diff --git a/dev/feed_json_updated.json b/dev/feed_json_updated.json index 804cd36f7..9e4f75da1 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-10-06T21:26:35+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-10-06T21:33:22+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 9f8ca8621..329081ae9 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 Mon, 06 Oct 2025 21:31:24 -0000 Mon, 06 Oct 2025 21:31:24 -0000 1440 MkDocs RSS plugin - v1.17.3 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, 06 Oct 2025 21:41:24 -0000 Mon, 06 Oct 2025 21:41:24 -0000 1440 MkDocs RSS plugin - v1.17.3 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 54722ad82..a447bc245 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 Mon, 06 Oct 2025 21:31:24 -0000 Mon, 06 Oct 2025 21:31:24 -0000 1440 MkDocs RSS plugin - v1.17.3 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, 06 Oct 2025 21:26:35 +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, 06 Oct 2025 21:41:24 -0000 Mon, 06 Oct 2025 21:41:24 -0000 1440 MkDocs RSS plugin - v1.17.3 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, 06 Oct 2025 21:33:22 +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 b936a00752c376275065037f44fbba2b339215be..be7966a7e2cca6dd4cfbe9ca318470d907a5f3ce 100644 GIT binary patch delta 18020 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 delta 17885 zcmV)XK&`)yzykTd0|Nc{V1n1vweI3iL(CU5*c@jAd(oxEor1RL@yOOZOIEkAchGXH5KP z77ntWVkO4Ks3o^6D<_~3(co|wgDsl&5VL-L4ZXB zGaR5vsWq{{?I=v|B1RkTg|;O#wR>-gVDK7SQ6vVh|0!42lo88;#UDobAFiRdmGcY$ z%d{a2@KuOLe~i&*xzEwNGxM9TVPB_wr5!4M>t()yYiWqDtzkk+!350%Dzf~am`7op zQWZ=6e@wS38A_Q|LlbgUMA+o2M9|4*Q)Y&A^#e2Ph*|_r{OwDWLKoHZryEgqBq)(4 zP<37M)!^lB^cwl(RrDJ9t83PMQG?3emI;G+;`!5!f2h%VycsXpzn^Ez-Sla?Dbr{i z%I6w%Uot-)%)*%IT$s7nplsDj3J+@b85?-+pRxfS9O#EEo^Qd)Z?K&{u*cba%Ep@~ zSW3Zg6&iLM+Akb7_zaE+6X>5kjjDj52Na8 zsyg(xtP{S%XY(72B`@9npg(ai2DP)1qjuq=WiE>lIL9Er!WmMP)x%Ao8V{DPcA`ny zH_?KWA7iU%6Oi0iZ?qyu`tSfe-zIF65@_W{@98NFK z$A%lUhGyc+-b$dAUp?D^sbHY2w&Dyj*~Bso5C75}b-n!aXk~Dc!w@>MeMg>YVqpZn z=h0Nc;fWgq!@QZYi>W9)@QZOcelXgkld@YE20-+ernteA&s!M*Ba`V{K>|X~lPp|f z4fZ4BskjE)Ucg)#{)dyBTxc5Zs0C!Zc)S@V*Ol@sqI`onJ0M(#L9^8@ijy5(IwETz zyC2Yi#)G^0vYw{~Z+qVO}W@FgZ!;YjEt; zOD}yd@AEm6nO+_dqR639piF%f{6vs??uYq}Fq6n$Ck{=4Ei|=4qwc+MJ$<#Mll@*8 z5OP(=wSgTq0G5b;Ck^ForjsRKI09E1lV4vSe>DOAy?FfM52MLyu~;qHVhf#BZ-V{t z>n}(o-{9(kHjvt#fJc*Cu<&TFv1>AS*o4!aHd@JPTr4k5LIlSB>&Ba?Ww;-rAR>K? zfLn0{bt(13O`uVJs|h$^0A!U!ETX~JZKl1Y;F7y{hl>1*`j_0qVvxyJ-k%0D%mAF| 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

DEBUG_ENHANCEMENT module-attribute ¤

DEBUG_ENHANCEMENT = False
-

groups module-attribute ¤

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

ops module-attribute ¤

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

access module-attribute ¤

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

groups module-attribute ¤

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

ops module-attribute ¤

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

access module-attribute ¤

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

access module-attribute ¤

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

ops module-attribute ¤

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

regs module-attribute ¤

regs = {v: _Efor (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/kallsyms/index.html b/dev/reference/pwndbg/aglib/kernel/kallsyms/index.html
index 5dde60ef3..3d3527969 100644
--- a/dev/reference/pwndbg/aglib/kernel/kallsyms/index.html
+++ b/dev/reference/pwndbg/aglib/kernel/kallsyms/index.html
@@ -4,7 +4,7 @@
 
   
       instance-attribute
-   (pwndbg.aglib.kernel.kallsyms.Kallsyms.kallsyms)" href=#pwndbg.aglib.kernel.kallsyms.Kallsyms.kallsyms>kallsyms (dict[str, tuple[int, str]]) – 
  • kallsyms (list[tuple[str, str, int]]) –
  • kernel_addresses
  • kallsyms instance-attribute ¤

    kallsyms: dict[str, tuple[int, str]] = {}
    +   (pwndbg.aglib.kernel.kallsyms.Kallsyms.kernel_addresses)" href=#pwndbg.aglib.kernel.kallsyms.Kallsyms.kernel_addresses>kernel_addresses

    kallsyms instance-attribute ¤

    kallsyms: list[tuple[str, str, int]] = []
     

    kbase instance-attribute ¤

    kbase = kbase()
     

    r_base instance-attribute ¤

    r_base = vaddr
     

    kernel_ro_mem instance-attribute ¤

    kernel_ro_mem = read(vaddr, memsz)
    @@ -107,5 +107,5 @@
     

    get_token_table ¤

    get_token_table()
     

    find_names_uncompressed ¤

    find_names_uncompressed()
     

    find_markers_uncompressed ¤

    find_markers_uncompressed()
    -

    This function searches for the kallsyms_markers structure in the kernel memory Original Source: https://github.com/marin-m/vmlinux-to-elf/blob/master/vmlinux_to_elf/kallsyms_finder.py

    get ¤

    get() -> dict[str, tuple[int, str]]
    +

    This function searches for the kallsyms_markers structure in the kernel memory Original Source: https://github.com/marin-m/vmlinux-to-elf/blob/master/vmlinux_to_elf/kallsyms_finder.py

    get ¤

    get() -> tuple[tuple[str, str, int], ...]
     
    \ No newline at end of file diff --git a/dev/reference/pwndbg/commands/cymbol/index.html b/dev/reference/pwndbg/commands/cymbol/index.html index 2cbb62542..c1877368c 100644 --- a/dev/reference/pwndbg/commands/cymbol/index.html +++ b/dev/reference/pwndbg/commands/cymbol/index.html @@ -1,4 +1,4 @@ - cymbol - Documentation
    Skip to content

    cymbol ¤

    Add, load, show, edit, or delete symbols for custom structures.

    For the generation of the symbols g++/gcc is being used under the hood.

    In case of remote debugging a binary which is not native to your architecture it is advised to configure the 'gcc-config-path' config parameter to your own cross-platform gnu gcc compiled toolchain for your target architecture.

    You are advised to configure the 'cymbol-editor' config parameter to the path of your favorite text editor. Otherwise cymbol expands $EDITOR and $VISUAL environment variables to find the path to the default text editor.

    Functions:

    Attributes:

    parser module-attribute ¤

    parser = ArgumentParser(description='Lookup kernel symbols')
    -

    klookup ¤

    klookup(symbol: str) -> None
    +

    klookup ¤

    klookup(symbol: str, apply: bool) -> None
     
    \ No newline at end of file diff --git a/dev/reference/pwndbg/dbg/gdb/index.html b/dev/reference/pwndbg/dbg/gdb/index.html index 37c922291..4d0e56a45 100644 --- a/dev/reference/pwndbg/dbg/gdb/index.html +++ b/dev/reference/pwndbg/dbg/gdb/index.html @@ -299,7 +299,7 @@

    dispatch_execution_controller ¤

    dispatch_execution_controller(
         procedure: Callable[[ExecutionController], Coroutine[Any, Any, None]],
     )
    -

    add_symbol_file ¤

    add_symbol_file(path, base)
    +

    add_symbol_file ¤

    add_symbol_file(path, base=None)
     

    GDBExecutionController ¤

    Bases: ExecutionController

    Methods:

    • Returns whether this process makes use of dynamically linked libraries.

      "dynamically linked"¤

      What exactly it means to be "dynamically linked" here is a little ill-defined. Ideally, this function should return true if the process uses the default dynamic linker for the system, as that would better reflect whether the process uses dynamic linking.

      Currently, though, Pwndbg expects it to behave the same as a check for the string "No shared libraries loaded at this time." in the output of the info dll GDB command, which checks for the presence of other modules in the address space of the process, rather than whether or not the dynamic linker is used.

      We should probably sort this out in the future.

    dispatch_execution_controller ¤

    dispatch_execution_controller(
         procedure: Callable[[ExecutionController], Coroutine[Any, Any, None]],
     )
    -

    Queues up the given execution controller-based coroutine for execution, sometime between the calling of this function and the

    add_symbol_file ¤

    add_symbol_file(path, base)
    +

    Queues up the given execution controller-based coroutine for execution, sometime between the calling of this function and the

    add_symbol_file ¤

    add_symbol_file(path, base=None)
     

    Adds a symbol file at base

    TypeCode ¤

    Bases: Enum

    Broad categories of types.

    Attributes:

    dispatch_execution_controller ¤

    dispatch_execution_controller(
         procedure: Callable[[ExecutionController], Coroutine[Any, Any, None]],
     )
    -

    add_symbol_file ¤

    add_symbol_file(path, base)
    +

    add_symbol_file ¤

    add_symbol_file(path, base=None)
     

    Adds a symbol file at base

    LLDBCommand ¤

    LLDBCommand(handler_name: str, command_name: str)
     

    Bases: CommandHandle

    Methods:

    • remove

      Removes this command from the command palette of the debugger.

    Attributes:

    P module-attribute ¤

    P = ParamSpec('P')
     

    T module-attribute ¤

    T = TypeVar('T')
    -

    PROMPT module-attribute ¤

    PROMPT = ANSI('\x1b[34mpwndbg-lldb> ')
    +

    PROMPT module-attribute ¤

    PROMPT = ANSI('\x1b[34mpwndbg-lldb>\x1b[0m ')
     

    HISTORY_FILE module-attribute ¤

    HISTORY_FILE = expanduser('~/.pwndbg_history')
     

    FZF_RUN_CMD module-attribute ¤

    FZF_RUN_CMD = (
         "fzf",
    diff --git a/dev/reference/pwndbg/lib/elftypes/index.html b/dev/reference/pwndbg/lib/elftypes/index.html
    index 7e0bce3d8..253901c09 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: _afor (k, v) in (items())}
     

    constants ¤

    Attributes: