Skip to content

Commit 2588294

Browse files
Autorefresh Dev Documentation
1 parent 41dd0f6 commit 2588294

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+3329
-293
lines changed

dev/_modules/index.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,9 +444,12 @@ <h1>All modules for which code is available</h1>
444444
<li><a href="libdebug/builtin/pretty_print_syscall_handler.html">libdebug.builtin.pretty_print_syscall_handler</a></li>
445445
<li><a href="libdebug/data/breakpoint.html">libdebug.data.breakpoint</a></li>
446446
<li><a href="libdebug/data/memory_map.html">libdebug.data.memory_map</a></li>
447+
<li><a href="libdebug/data/memory_map_list.html">libdebug.data.memory_map_list</a></li>
447448
<li><a href="libdebug/data/register_holder.html">libdebug.data.register_holder</a></li>
448449
<li><a href="libdebug/data/registers.html">libdebug.data.registers</a></li>
449450
<li><a href="libdebug/data/signal_catcher.html">libdebug.data.signal_catcher</a></li>
451+
<li><a href="libdebug/data/symbol.html">libdebug.data.symbol</a></li>
452+
<li><a href="libdebug/data/symbol_dict.html">libdebug.data.symbol_dict</a></li>
450453
<li><a href="libdebug/data/syscall_handler.html">libdebug.data.syscall_handler</a></li>
451454
<li><a href="libdebug/debugger/debugger.html">libdebug.debugger.debugger</a></li>
452455
<li><a href="libdebug/debugger/internal_debugger.html">libdebug.debugger.internal_debugger</a></li>
@@ -477,6 +480,7 @@ <h1>All modules for which code is available</h1>
477480
<li><a href="libdebug/utils/posix_spawn.html">libdebug.utils.posix_spawn</a></li>
478481
<li><a href="libdebug/utils/print_style.html">libdebug.utils.print_style</a></li>
479482
<li><a href="libdebug/utils/process_utils.html">libdebug.utils.process_utils</a></li>
483+
<li><a href="libdebug/utils/search_utils.html">libdebug.utils.search_utils</a></li>
480484
<li><a href="libdebug/utils/signal_utils.html">libdebug.utils.signal_utils</a></li>
481485
<li><a href="libdebug/utils/syscall_utils.html">libdebug.utils.syscall_utils</a></li>
482486
</ul>

dev/_modules/libdebug/architectures/aarch64/aarch64_ptrace_register_holder.html

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@
426426
<h1>Source code for libdebug.architectures.aarch64.aarch64_ptrace_register_holder</h1><div class="highlight"><pre>
427427
<span></span><span class="c1">#</span>
428428
<span class="c1"># This file is part of libdebug Python library (https://github.com/libdebug/libdebug).</span>
429-
<span class="c1"># Copyright (c) 2024 Roberto Alessandro Bertolini. All rights reserved.</span>
429+
<span class="c1"># Copyright (c) 2024 Roberto Alessandro Bertolini, Gabriele Digregorio. All rights reserved.</span>
430430
<span class="c1"># Licensed under the MIT license. See LICENSE file in the project root for details.</span>
431431
<span class="c1">#</span>
432432

@@ -442,7 +442,7 @@ <h1>Source code for libdebug.architectures.aarch64.aarch64_ptrace_register_holde
442442
<span class="k">if</span> <span class="n">TYPE_CHECKING</span><span class="p">:</span>
443443
<span class="kn">from</span> <span class="nn">libdebug.state.thread_context</span> <span class="kn">import</span> <span class="n">ThreadContext</span>
444444

445-
<span class="n">AARCH64_GP_REGS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;x&quot;</span><span class="p">,</span> <span class="s2">&quot;w&quot;</span><span class="p">]</span>
445+
<span class="n">AARCH64_REGS</span> <span class="o">=</span> <span class="p">[</span><span class="sa">f</span><span class="s2">&quot;x</span><span class="si">{</span><span class="n">i</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">31</span><span class="p">)]</span> <span class="o">+</span> <span class="p">[</span><span class="s2">&quot;sp&quot;</span><span class="p">,</span> <span class="s2">&quot;xzr&quot;</span><span class="p">,</span> <span class="s2">&quot;pc&quot;</span><span class="p">]</span>
446446

447447

448448
<span class="k">def</span> <span class="nf">_get_property_64</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">property</span><span class="p">:</span>
@@ -587,6 +587,20 @@ <h1>Source code for libdebug.architectures.aarch64.aarch64_ptrace_register_holde
587587
<span class="k">return</span> <span class="n">Aarch64Registers</span></div>
588588

589589

590+
<div class="viewcode-block" id="Aarch64PtraceRegisterHolder.provide_regs">
591+
<a class="viewcode-back" href="../../../../libdebug.architectures.aarch64.html#libdebug.architectures.aarch64.aarch64_ptrace_register_holder.Aarch64PtraceRegisterHolder.provide_regs">[docs]</a>
592+
<span class="k">def</span> <span class="nf">provide_regs</span><span class="p">(</span><span class="bp">self</span><span class="p">:</span> <span class="n">Aarch64PtraceRegisterHolder</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
593+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Provide the list of registers, excluding the vector and fp registers.&quot;&quot;&quot;</span>
594+
<span class="k">return</span> <span class="n">AARCH64_REGS</span></div>
595+
596+
597+
<div class="viewcode-block" id="Aarch64PtraceRegisterHolder.provide_vector_fp_regs">
598+
<a class="viewcode-back" href="../../../../libdebug.architectures.aarch64.html#libdebug.architectures.aarch64.aarch64_ptrace_register_holder.Aarch64PtraceRegisterHolder.provide_vector_fp_regs">[docs]</a>
599+
<span class="k">def</span> <span class="nf">provide_vector_fp_regs</span><span class="p">(</span><span class="bp">self</span><span class="p">:</span> <span class="n">Aarch64PtraceRegisterHolder</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">]]:</span>
600+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Provide the list of vector and floating point registers.&quot;&quot;&quot;</span>
601+
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_vector_fp_registers</span></div>
602+
603+
590604
<div class="viewcode-block" id="Aarch64PtraceRegisterHolder.apply_on_regs">
591605
<a class="viewcode-back" href="../../../../libdebug.architectures.aarch64.html#libdebug.architectures.aarch64.aarch64_ptrace_register_holder.Aarch64PtraceRegisterHolder.apply_on_regs">[docs]</a>
592606
<span class="k">def</span> <span class="nf">apply_on_regs</span><span class="p">(</span><span class="bp">self</span><span class="p">:</span> <span class="n">Aarch64PtraceRegisterHolder</span><span class="p">,</span> <span class="n">target</span><span class="p">:</span> <span class="n">Aarch64Registers</span><span class="p">,</span> <span class="n">target_class</span><span class="p">:</span> <span class="nb">type</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
@@ -597,6 +611,8 @@ <h1>Source code for libdebug.architectures.aarch64.aarch64_ptrace_register_holde
597611
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">target_class</span><span class="p">,</span> <span class="s2">&quot;w0&quot;</span><span class="p">):</span>
598612
<span class="k">return</span>
599613

614+
<span class="bp">self</span><span class="o">.</span><span class="n">_vector_fp_registers</span> <span class="o">=</span> <span class="p">[]</span>
615+
600616
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">31</span><span class="p">):</span>
601617
<span class="n">name_64</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;x</span><span class="si">{</span><span class="n">i</span><span class="si">}</span><span class="s2">&quot;</span>
602618
<span class="n">name_32</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;w</span><span class="si">{</span><span class="n">i</span><span class="si">}</span><span class="s2">&quot;</span>
@@ -618,14 +634,17 @@ <h1>Source code for libdebug.architectures.aarch64.aarch64_ptrace_register_holde
618634
<span class="nb">setattr</span><span class="p">(</span><span class="n">target_class</span><span class="p">,</span> <span class="n">name_32</span><span class="p">,</span> <span class="n">_get_property_fp_32</span><span class="p">(</span><span class="n">name_32</span><span class="p">,</span> <span class="n">i</span><span class="p">))</span>
619635
<span class="nb">setattr</span><span class="p">(</span><span class="n">target_class</span><span class="p">,</span> <span class="n">name_16</span><span class="p">,</span> <span class="n">_get_property_fp_16</span><span class="p">(</span><span class="n">name_16</span><span class="p">,</span> <span class="n">i</span><span class="p">))</span>
620636
<span class="nb">setattr</span><span class="p">(</span><span class="n">target_class</span><span class="p">,</span> <span class="n">name_8</span><span class="p">,</span> <span class="n">_get_property_fp_8</span><span class="p">(</span><span class="n">name_8</span><span class="p">,</span> <span class="n">i</span><span class="p">))</span>
637+
<span class="bp">self</span><span class="o">.</span><span class="n">_vector_fp_registers</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">name_v</span><span class="p">,</span> <span class="n">name_128</span><span class="p">,</span> <span class="n">name_64</span><span class="p">,</span> <span class="n">name_32</span><span class="p">,</span> <span class="n">name_16</span><span class="p">,</span> <span class="n">name_8</span><span class="p">))</span>
621638

622639
<span class="c1"># setup special aarch64 registers</span>
623640
<span class="n">target_class</span><span class="o">.</span><span class="n">pc</span> <span class="o">=</span> <span class="n">_get_property_64</span><span class="p">(</span><span class="s2">&quot;pc&quot;</span><span class="p">)</span>
624641
<span class="n">target_class</span><span class="o">.</span><span class="n">sp</span> <span class="o">=</span> <span class="n">_get_property_64</span><span class="p">(</span><span class="s2">&quot;sp&quot;</span><span class="p">)</span>
625642
<span class="n">target_class</span><span class="o">.</span><span class="n">lr</span> <span class="o">=</span> <span class="n">_get_property_64</span><span class="p">(</span><span class="s2">&quot;x30&quot;</span><span class="p">)</span>
626643
<span class="n">target_class</span><span class="o">.</span><span class="n">fp</span> <span class="o">=</span> <span class="n">_get_property_64</span><span class="p">(</span><span class="s2">&quot;x29&quot;</span><span class="p">)</span>
627644
<span class="n">target_class</span><span class="o">.</span><span class="n">xzr</span> <span class="o">=</span> <span class="n">_get_property_zr</span><span class="p">(</span><span class="s2">&quot;xzr&quot;</span><span class="p">)</span>
628-
<span class="n">target_class</span><span class="o">.</span><span class="n">wzr</span> <span class="o">=</span> <span class="n">_get_property_zr</span><span class="p">(</span><span class="s2">&quot;wzr&quot;</span><span class="p">)</span></div>
645+
<span class="n">target_class</span><span class="o">.</span><span class="n">wzr</span> <span class="o">=</span> <span class="n">_get_property_zr</span><span class="p">(</span><span class="s2">&quot;wzr&quot;</span><span class="p">)</span>
646+
647+
<span class="n">Aarch64PtraceRegisterHolder</span><span class="o">.</span><span class="n">_vector_fp_registers</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_vector_fp_registers</span></div>
629648

630649

631650
<div class="viewcode-block" id="Aarch64PtraceRegisterHolder.apply_on_thread">

dev/_modules/libdebug/architectures/aarch64/aarch64_registers.html

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -426,28 +426,26 @@
426426
<h1>Source code for libdebug.architectures.aarch64.aarch64_registers</h1><div class="highlight"><pre>
427427
<span></span><span class="c1">#</span>
428428
<span class="c1"># This file is part of libdebug Python library (https://github.com/libdebug/libdebug).</span>
429-
<span class="c1"># Copyright (c) 2024 Roberto Alessandro Bertolini. All rights reserved.</span>
429+
<span class="c1"># Copyright (c) 2024 Roberto Alessandro Bertolini, Gabriele Digregorio. All rights reserved.</span>
430430
<span class="c1"># Licensed under the MIT license. See LICENSE file in the project root for details.</span>
431431
<span class="c1">#</span>
432432

433433
<span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span>
434434

435-
<span class="kn">from</span> <span class="nn">dataclasses</span> <span class="kn">import</span> <span class="n">dataclass</span>
436-
437435
<span class="kn">from</span> <span class="nn">libdebug.data.registers</span> <span class="kn">import</span> <span class="n">Registers</span>
438436
<span class="kn">from</span> <span class="nn">libdebug.debugger.internal_debugger_instance_manager</span> <span class="kn">import</span> <span class="n">get_global_internal_debugger</span>
439437

440438

441439
<div class="viewcode-block" id="Aarch64Registers">
442440
<a class="viewcode-back" href="../../../../libdebug.architectures.aarch64.html#libdebug.architectures.aarch64.aarch64_registers.Aarch64Registers">[docs]</a>
443-
<span class="nd">@dataclass</span>
444441
<span class="k">class</span> <span class="nc">Aarch64Registers</span><span class="p">(</span><span class="n">Registers</span><span class="p">):</span>
445442
<span class="w"> </span><span class="sd">&quot;&quot;&quot;This class holds the state of the architectural-dependent registers of a process.&quot;&quot;&quot;</span>
446443

447-
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">:</span> <span class="n">Aarch64Registers</span><span class="p">,</span> <span class="n">thread_id</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
444+
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">:</span> <span class="n">Aarch64Registers</span><span class="p">,</span> <span class="n">thread_id</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">generic_regs</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
448445
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Initializes the Registers object.&quot;&quot;&quot;</span>
449446
<span class="bp">self</span><span class="o">.</span><span class="n">_internal_debugger</span> <span class="o">=</span> <span class="n">get_global_internal_debugger</span><span class="p">()</span>
450-
<span class="bp">self</span><span class="o">.</span><span class="n">_thread_id</span> <span class="o">=</span> <span class="n">thread_id</span></div>
447+
<span class="bp">self</span><span class="o">.</span><span class="n">_thread_id</span> <span class="o">=</span> <span class="n">thread_id</span>
448+
<span class="bp">self</span><span class="o">.</span><span class="n">_generic_regs</span> <span class="o">=</span> <span class="n">generic_regs</span></div>
451449

452450
</pre></div>
453451

0 commit comments

Comments
 (0)