diff --git a/dev/feed_json_updated.json b/dev/feed_json_updated.json index 73dec2986..bf2fe77ff 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-04-26T09:50:16+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-04-26T18:06:55+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 e2e6c28b6..57938b76a 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 Sat, 26 Apr 2025 09:52:28 -0000 Sat, 26 Apr 2025 09:52:28 -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 Sat, 26 Apr 2025 18:08:54 -0000 Sat, 26 Apr 2025 18:08:54 -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 2ad793963..c5d3b3edc 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 Sat, 26 Apr 2025 09:52:28 -0000 Sat, 26 Apr 2025 09:52:28 -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/ Sat, 26 Apr 2025 09:50:16 +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 Sat, 26 Apr 2025 18:08:54 -0000 Sat, 26 Apr 2025 18:08:54 -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/ Sat, 26 Apr 2025 18:06:55 +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 fd3a313ca..d28465eec 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 0e0e05826..855a87eab 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: _kfor (k, v) in items() if startswith('CS_GRP_')}
-

ops module-attribute ¤

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

access module-attribute ¤

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

groups module-attribute ¤

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

ops module-attribute ¤

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

access module-attribute ¤

access = {v: _Yfor (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: pwndbg.aglib.disasm.arm - Documentation      

arm ¤

Classes:

Attributes:

\ No newline at end of file +

Debug-only method.

itstate_from_cpsr ¤

itstate_from_cpsr(cpsr_value: int) -> int
+

ITSTATE == If-Then execution state bits for the Thumb IT instruction The ITSTATE bits are spread across 3 sections of Arm flags register to a total of 8 bits. This function extracts them and reorders the bits into their logical order - https://developer.arm.com/documentation/ddi0403/d/System-Level-Architecture/System-Level-Programmers--Model/Registers/The-special-purpose-program-status-registers--xPSR#:~:text=shows%20the%20assignment%20of%20the%20ICI/IT%20bits.

Bits of the flags register: EPSR[26:25] EPSR[15:12] EPSR[11:10] Bits of ITSTATE: IT[1:0] IT[7:4] IT[3:2]

The lower 5 bits has information that indicates the number of instructions in the IT Block. The top 3 bits indicate the base condition of the block. - https://developer.arm.com/documentation/ddi0406/cb/Application-Level-Architecture/Application-Level-Programmers--Model/Execution-state-registers/IT-block-state-register--ITSTATE?lang=en

If the value is zero, it means we are not in an IT block.

\ No newline at end of file diff --git a/dev/reference/pwndbg/aglib/disasm/disassembly/index.html b/dev/reference/pwndbg/aglib/disasm/disassembly/index.html index 7edbc523a..1b0e344d8 100644 --- a/dev/reference/pwndbg/aglib/disasm/disassembly/index.html +++ b/dev/reference/pwndbg/aglib/disasm/disassembly/index.html @@ -28,7 +28,7 @@ module-attribute - (pwndbg.aglib.disasm.disassembly.emulated_arm_mode_cache)" href=#pwndbg.aglib.disasm.disassembly.emulated_arm_mode_cache>emulated_arm_mode_cache
(DefaultDict[int, int]) –
  • emulated_arm_mode_cache (DefaultDict[int, int | None]) –
  • computed_instruction_cache module-attribute ¤

    computed_instruction_cache: DefaultDict[int, PwndbgInstruction] = defaultdict(
         lambda: None
     )
    -

    emulated_arm_mode_cache module-attribute ¤

    emulated_arm_mode_cache: DefaultDict[int, int] = defaultdict(lambda: None)
    +

    emulated_arm_mode_cache module-attribute ¤

    emulated_arm_mode_cache: DefaultDict[int, int | None] = defaultdict(
    +    lambda: None
    +)
     

    first_time_emulate module-attribute ¤

    first_time_emulate = True
     

    ALL_DISASSEMBLY_ASSISTANTS module-attribute ¤

    ALL_DISASSEMBLY_ASSISTANTS: dict[
         X86_MATH_INSTRUCTIONS
  • groups module-attribute ¤

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

    ops module-attribute ¤

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

    regs module-attribute ¤

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

    access module-attribute ¤

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

    ops module-attribute ¤

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

    regs module-attribute ¤

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

    access module-attribute ¤

    access = {v: _Vfor (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/lib/elftypes/index.html b/dev/reference/pwndbg/lib/elftypes/index.html
    index 6e596482f..e1f16c335 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: _pfor (k, v) in items()}
    +

    AT_CONSTANT_NAMES module-attribute ¤

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

    constants ¤

    Attributes: