Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 17a6cdf

Browse files
Autorefresh Dev Documentation
1 parent 5b19409 commit 17a6cdf

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -467,8 +467,8 @@ <h1>Source code for libdebug.architectures.aarch64.aarch64_stack_unwinder</h1><d
467467
<span class="c1"># Follow the frame chain</span>
468468
<span class="k">while</span> <span class="n">frame_pointer</span><span class="p">:</span>
469469
<span class="k">try</span><span class="p">:</span>
470-
<span class="n">link_register</span> <span class="o">=</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">frame_pointer</span> <span class="o">+</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">],</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span>
471-
<span class="n">frame_pointer</span> <span class="o">=</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">frame_pointer</span><span class="p">,</span> <span class="mi">8</span><span class="p">],</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span>
470+
<span class="n">link_register</span> <span class="o">=</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">frame_pointer</span> <span class="o">+</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="s2">&quot;absolute&quot;</span><span class="p">],</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span>
471+
<span class="n">frame_pointer</span> <span class="o">=</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">frame_pointer</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="s2">&quot;absolute&quot;</span><span class="p">],</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span>
472472

473473
<span class="k">if</span> <span class="ow">not</span> <span class="nb">any</span><span class="p">(</span><span class="n">vmap</span><span class="o">.</span><span class="n">start</span> <span class="o">&lt;=</span> <span class="n">link_register</span> <span class="o">&lt;</span> <span class="n">vmap</span><span class="o">.</span><span class="n">end</span> <span class="k">for</span> <span class="n">vmap</span> <span class="ow">in</span> <span class="n">vmaps</span><span class="p">):</span>
474474
<span class="k">break</span>

dev/_modules/libdebug/architectures/amd64/amd64_stack_unwinder.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -469,13 +469,13 @@ <h1>Source code for libdebug.architectures.amd64.amd64_stack_unwinder</h1><div c
469469
<span class="k">while</span> <span class="n">current_rbp</span><span class="p">:</span>
470470
<span class="k">try</span><span class="p">:</span>
471471
<span class="c1"># Read the return address</span>
472-
<span class="n">return_address</span> <span class="o">=</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">current_rbp</span> <span class="o">+</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">],</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span>
472+
<span class="n">return_address</span> <span class="o">=</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">current_rbp</span> <span class="o">+</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="s2">&quot;absolute&quot;</span><span class="p">],</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span>
473473

474474
<span class="k">if</span> <span class="ow">not</span> <span class="nb">any</span><span class="p">(</span><span class="n">vmap</span><span class="o">.</span><span class="n">start</span> <span class="o">&lt;=</span> <span class="n">return_address</span> <span class="o">&lt;</span> <span class="n">vmap</span><span class="o">.</span><span class="n">end</span> <span class="k">for</span> <span class="n">vmap</span> <span class="ow">in</span> <span class="n">vmaps</span><span class="p">):</span>
475475
<span class="k">break</span>
476476

477477
<span class="c1"># Read the previous rbp and set it as the current one</span>
478-
<span class="n">current_rbp</span> <span class="o">=</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">current_rbp</span><span class="p">,</span> <span class="mi">8</span><span class="p">],</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span>
478+
<span class="n">current_rbp</span> <span class="o">=</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">current_rbp</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="s2">&quot;absolute&quot;</span><span class="p">],</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span>
479479

480480
<span class="n">stack_trace</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">return_address</span><span class="p">)</span>
481481
<span class="k">except</span> <span class="p">(</span><span class="ne">OSError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">):</span>
@@ -507,17 +507,17 @@ <h1>Source code for libdebug.architectures.amd64.amd64_stack_unwinder</h1><div c
507507
<span class="sd"> Returns:</span>
508508
<span class="sd"> int: The return address.</span>
509509
<span class="sd"> &quot;&quot;&quot;</span>
510-
<span class="n">instruction_window</span> <span class="o">=</span> <span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">target</span><span class="o">.</span><span class="n">regs</span><span class="o">.</span><span class="n">rip</span><span class="p">,</span> <span class="mi">4</span><span class="p">]</span>
510+
<span class="n">instruction_window</span> <span class="o">=</span> <span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">target</span><span class="o">.</span><span class="n">regs</span><span class="o">.</span><span class="n">rip</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="s2">&quot;absolute&quot;</span><span class="p">]</span>
511511

512512
<span class="c1"># Check if the instruction window is a function preamble and handle each case</span>
513513
<span class="n">return_address</span> <span class="o">=</span> <span class="kc">None</span>
514514

515515
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_preamble_state</span><span class="p">(</span><span class="n">instruction_window</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
516-
<span class="n">return_address</span> <span class="o">=</span> <span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">target</span><span class="o">.</span><span class="n">regs</span><span class="o">.</span><span class="n">rbp</span> <span class="o">+</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">]</span>
516+
<span class="n">return_address</span> <span class="o">=</span> <span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">target</span><span class="o">.</span><span class="n">regs</span><span class="o">.</span><span class="n">rbp</span> <span class="o">+</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="s2">&quot;absolute&quot;</span><span class="p">]</span>
517517
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_preamble_state</span><span class="p">(</span><span class="n">instruction_window</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
518-
<span class="n">return_address</span> <span class="o">=</span> <span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">target</span><span class="o">.</span><span class="n">regs</span><span class="o">.</span><span class="n">rsp</span><span class="p">,</span> <span class="mi">8</span><span class="p">]</span>
518+
<span class="n">return_address</span> <span class="o">=</span> <span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">target</span><span class="o">.</span><span class="n">regs</span><span class="o">.</span><span class="n">rsp</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="s2">&quot;absolute&quot;</span><span class="p">]</span>
519519
<span class="k">else</span><span class="p">:</span>
520-
<span class="n">return_address</span> <span class="o">=</span> <span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">target</span><span class="o">.</span><span class="n">regs</span><span class="o">.</span><span class="n">rsp</span> <span class="o">+</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">]</span>
520+
<span class="n">return_address</span> <span class="o">=</span> <span class="n">target</span><span class="o">.</span><span class="n">memory</span><span class="p">[</span><span class="n">target</span><span class="o">.</span><span class="n">regs</span><span class="o">.</span><span class="n">rsp</span> <span class="o">+</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="s2">&quot;absolute&quot;</span><span class="p">]</span>
521521

522522
<span class="k">return</span> <span class="nb">int</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">return_address</span><span class="p">,</span> <span class="n">byteorder</span><span class="o">=</span><span class="s2">&quot;little&quot;</span><span class="p">)</span></div>
523523

0 commit comments

Comments
 (0)