mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Fix sample for FunctionBP
This commit is contained in:
+1
-1
@@ -201,7 +201,7 @@
|
||||
|
||||
|
||||
<div class="viewcode-block" id="FunctionBP"><a class="viewcode-back" href="../../../debug.html#windows.debug.FunctionBP">[docs]</a><span class="k">class</span> <span class="nc">FunctionBP</span><span class="p">(</span><span class="n">FunctionCallBP</span><span class="p">,</span> <span class="n">FunctionParamDumpBP</span><span class="p">):</span>
|
||||
<span class="sd">"""A breakpoint that accept a function from :mod:`windows.winproxy` and able to:</span>
|
||||
<span class="sd">"""A breakpoint that accepts a function from :mod:`windows.winproxy` and able to:</span>
|
||||
|
||||
<span class="sd"> - Extract the arguments of the functions</span>
|
||||
<span class="sd"> - Break at the return of the function</span>
|
||||
|
||||
+6
-5
@@ -131,7 +131,8 @@
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">DebugActiveProcess</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">cls</span><span class="p">(</span><span class="n">target</span><span class="p">)</span></div>
|
||||
|
||||
<span class="k">def</span> <span class="nf">detach</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="Debugger.detach"><a class="viewcode-back" href="../../../debug.html#windows.debug.Debugger.detach">[docs]</a> <span class="k">def</span> <span class="nf">detach</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="sd">"""Detach from all debugged processes or process ``target``"""</span>
|
||||
<span class="k">if</span> <span class="n">target</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">proc</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">processes</span><span class="o">.</span><span class="n">values</span><span class="p">():</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">detach</span><span class="p">(</span><span class="n">proc</span><span class="p">)</span>
|
||||
@@ -162,10 +163,10 @@
|
||||
<span class="k">if</span> <span class="n">target</span> <span class="ow">is</span> <span class="bp">self</span><span class="o">.</span><span class="n">current_process</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_finish_debug_event</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">REMOVE_ME_debug_event</span><span class="p">,</span> <span class="n">DBG_CONTINUE</span><span class="p">)</span>
|
||||
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">DebugActiveProcessStop</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">DebugActiveProcessStop</span><span class="p">(</span><span class="n">target</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span></div>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_killed_in_action</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">"""Return True if current process have been detached by user callback"""</span>
|
||||
<span class="sd">"""Return ``True`` if current process have been detached by user callback"""</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">pid</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">processes</span>
|
||||
|
||||
|
||||
@@ -759,7 +760,7 @@
|
||||
|
||||
<span class="c1">## Public API</span>
|
||||
<div class="viewcode-block" id="Debugger.loop"><a class="viewcode-back" href="../../../debug.html#windows.debug.Debugger.loop">[docs]</a> <span class="k">def</span> <span class="nf">loop</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">"""Debugging loop: handle event / dispatch to breakpoint. Returns when all targets are dead"""</span>
|
||||
<span class="sd">"""Debugging loop: handle event / dispatch to breakpoint. Returns when all targets are dead/detached"""</span>
|
||||
<span class="k">for</span> <span class="n">debug_event</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_debug_event_generator</span><span class="p">():</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">REMOVE_ME_debug_event</span> <span class="o">=</span> <span class="n">debug_event</span>
|
||||
<span class="n">dbg_continue_flag</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dispatch_debug_event</span><span class="p">(</span><span class="n">debug_event</span><span class="p">)</span>
|
||||
@@ -910,7 +911,7 @@
|
||||
<span class="k">return</span> <span class="n">DBG_CONTINUE</span></div>
|
||||
|
||||
<div class="viewcode-block" id="Debugger.on_single_step"><a class="viewcode-back" href="../../../debug.html#windows.debug.Debugger.on_single_step">[docs]</a> <span class="k">def</span> <span class="nf">on_single_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exception</span><span class="p">):</span>
|
||||
<span class="sd">"""Called on requested single step``exception`` is one of the following type:</span>
|
||||
<span class="sd">"""Called on requested single step ``exception`` is one of the following type:</span>
|
||||
|
||||
<span class="sd"> * :class:`windows.winobject.exception.EEXCEPTION_DEBUG_INFO32`</span>
|
||||
<span class="sd"> * :class:`windows.winobject.exception.EEXCEPTION_DEBUG_INFO64`</span>
|
||||
|
||||
+1
-1
@@ -105,7 +105,7 @@
|
||||
|
||||
<span class="k">def</span> <span class="nf">__del__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"_handle"</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_handle</span><span class="p">:</span>
|
||||
<span class="n">dbgprint</span><span class="p">(</span><span class="s2">"Closing Handle </span><span class="si">{0:#x}</span><span class="s2"> for </span><span class="si">{1}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_handle</span><span class="p">,</span> <span class="bp">self</span><span class="p">),</span> <span class="s2">"HANDLE"</span><span class="p">)</span>
|
||||
<span class="c1">#dbgprint("Closing Handle {0} for {1}".format(hex(self._handle), self), "HANDLE")</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_close_function</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_handle</span><span class="p">)</span>
|
||||
|
||||
|
||||
|
||||
Vendored
+4
-3
@@ -38,6 +38,7 @@ Implementing a COM interface
|
||||
|
||||
To create `COM` object you need to:
|
||||
|
||||
1. Describe your ComVtable `CODE1 <https://github.com/sogeti-esec-lab/LKD/blob/ba40727d7d257b00f89fc6ca7296c9833b7b75b2/simple_com.py#L89>`_
|
||||
2. Implement the python functions described `CODE2 <https://github.com/sogeti-esec-lab/LKD/blob/ba40727d7d257b00f89fc6ca7296c9833b7b75b2/dbginterface/remote.py#L233>`_
|
||||
3. Create an instance and pass it to whatever native function expects it `CODE3 <https://github.com/sogeti-esec-lab/LKD/blob/ba40727d7d257b00f89fc6ca7296c9833b7b75b2/dbginterface/remote.py#L438>`_
|
||||
1. Create your ``COMImplementation`` with an ``IMPLEMENT`` attribute that should be a cominterface `CODE 1 <https://github.com/sogeti-esec-lab/LKD/blob/efabf3cc38b94d4180ebe8d2c554da5d76b2fea1/lkd/dbginterface/base.py#L48>`_
|
||||
2. Implements the methods of the interface `CODE 2 <https://github.com/sogeti-esec-lab/LKD/blob/efabf3cc38b94d4180ebe8d2c554da5d76b2fea1/lkd/dbginterface/base.py#L55>`_
|
||||
3. Create an instance `CODE3 <https://github.com/sogeti-esec-lab/LKD/blob/efabf3cc38b94d4180ebe8d2c554da5d76b2fea1/lkd/dbginterface/base.py#L59>`_
|
||||
4. Pass it to whatever native function expects it `CODE4 <https://github.com/sogeti-esec-lab/LKD/blob/efabf3cc38b94d4180ebe8d2c554da5d76b2fea1/lkd/dbginterface/base.py#L272>`_
|
||||
Vendored
+3
-2
@@ -389,6 +389,7 @@ Ouput::
|
||||
|
||||
Ouput::
|
||||
|
||||
(cmd λ) python.exe .\samples\debug_functionbp.py
|
||||
NtCreateFile of <\??\C:\Windows\syswow64\en-US\calc.exe.mui>: handle = 0xac
|
||||
Handle manually found! typename=<File>, name=<\Device\HarddiskVolume2\Windows\SysWOW64\en-US\calc.exe.mui>
|
||||
|
||||
@@ -407,7 +408,7 @@ Ouput::
|
||||
''''''''''''''''''''''
|
||||
|
||||
In current process
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. literalinclude:: ..\..\samples\local_debugger.py
|
||||
|
||||
@@ -424,7 +425,7 @@ Ouput::
|
||||
|
||||
|
||||
In remote process
|
||||
^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. literalinclude:: ..\..\samples\local_debugger_remote_process.py
|
||||
|
||||
|
||||
Vendored
+4
-3
@@ -85,9 +85,10 @@ You can then use the instance to call whatever method you need.</p>
|
||||
<p>To create <cite>COM</cite> object you need to:</p>
|
||||
<blockquote>
|
||||
<div><ol class="arabic simple">
|
||||
<li>Describe your ComVtable <a class="reference external" href="https://github.com/sogeti-esec-lab/LKD/blob/ba40727d7d257b00f89fc6ca7296c9833b7b75b2/simple_com.py#L89">CODE1</a></li>
|
||||
<li>Implement the python functions described <a class="reference external" href="https://github.com/sogeti-esec-lab/LKD/blob/ba40727d7d257b00f89fc6ca7296c9833b7b75b2/dbginterface/remote.py#L233">CODE2</a></li>
|
||||
<li>Create an instance and pass it to whatever native function expects it <a class="reference external" href="https://github.com/sogeti-esec-lab/LKD/blob/ba40727d7d257b00f89fc6ca7296c9833b7b75b2/dbginterface/remote.py#L438">CODE3</a></li>
|
||||
<li>Create your <code class="docutils literal"><span class="pre">COMImplementation</span></code> with an <code class="docutils literal"><span class="pre">IMPLEMENT</span></code> attribute that should be a cominterface <a class="reference external" href="https://github.com/sogeti-esec-lab/LKD/blob/efabf3cc38b94d4180ebe8d2c554da5d76b2fea1/lkd/dbginterface/base.py#L48">CODE 1</a></li>
|
||||
<li>Implements the methods of the interface <a class="reference external" href="https://github.com/sogeti-esec-lab/LKD/blob/efabf3cc38b94d4180ebe8d2c554da5d76b2fea1/lkd/dbginterface/base.py#L55">CODE 2</a></li>
|
||||
<li>Create an instance <a class="reference external" href="https://github.com/sogeti-esec-lab/LKD/blob/efabf3cc38b94d4180ebe8d2c554da5d76b2fea1/lkd/dbginterface/base.py#L59">CODE3</a></li>
|
||||
<li>Pass it to whatever native function expects it <a class="reference external" href="https://github.com/sogeti-esec-lab/LKD/blob/efabf3cc38b94d4180ebe8d2c554da5d76b2fea1/lkd/dbginterface/base.py#L272">CODE4</a></li>
|
||||
</ol>
|
||||
</div></blockquote>
|
||||
</div>
|
||||
|
||||
Vendored
+9
-3
@@ -93,6 +93,12 @@ The <a class="reference internal" href="#windows.debug.Debugger" title="windows.
|
||||
</table>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="windows.debug.Debugger.detach">
|
||||
<code class="descname">detach</code><span class="sig-paren">(</span><em>target=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/debug/debugger.html#Debugger.detach"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.debug.Debugger.detach" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Detach from all debugged processes or process <code class="docutils literal"><span class="pre">target</span></code></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="classmethod">
|
||||
<dt id="windows.debug.Debugger.debug">
|
||||
<em class="property">classmethod </em><code class="descname">debug</code><span class="sig-paren">(</span><em>path</em>, <em>args=None</em>, <em>dwCreationFlags=0</em>, <em>show_windows=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/debug/debugger.html#Debugger.debug"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.debug.Debugger.debug" title="Permalink to this definition">¶</a></dt>
|
||||
@@ -110,7 +116,7 @@ The <a class="reference internal" href="#windows.debug.Debugger" title="windows.
|
||||
<dl class="method">
|
||||
<dt id="windows.debug.Debugger.loop">
|
||||
<code class="descname">loop</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/debug/debugger.html#Debugger.loop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.debug.Debugger.loop" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Debugging loop: handle event / dispatch to breakpoint. Returns when all targets are dead</p>
|
||||
<dd><p>Debugging loop: handle event / dispatch to breakpoint. Returns when all targets are dead/detached</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
@@ -212,7 +218,7 @@ and <code class="docutils literal"><span class="pre">DBG_EXCEPTION_NOT_HANDLED</
|
||||
<dl class="method">
|
||||
<dt id="windows.debug.Debugger.on_single_step">
|
||||
<code class="descname">on_single_step</code><span class="sig-paren">(</span><em>exception</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/debug/debugger.html#Debugger.on_single_step"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.debug.Debugger.on_single_step" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Called on requested single step``exception`` is one of the following type:</p>
|
||||
<dd><p>Called on requested single step <code class="docutils literal"><span class="pre">exception</span></code> is one of the following type:</p>
|
||||
<blockquote>
|
||||
<div><ul class="simple">
|
||||
<li><a class="reference internal" href="exception.html#windows.winobject.exception.EEXCEPTION_DEBUG_INFO32" title="windows.winobject.exception.EEXCEPTION_DEBUG_INFO32"><code class="xref py py-class docutils literal"><span class="pre">windows.winobject.exception.EEXCEPTION_DEBUG_INFO32</span></code></a></li>
|
||||
@@ -405,7 +411,7 @@ It is based on <code class="xref py py-func docutils literal"><span class="pre">
|
||||
<dl class="class">
|
||||
<dt id="windows.debug.FunctionBP">
|
||||
<em class="property">class </em><code class="descclassname">windows.debug.</code><code class="descname">FunctionBP</code><span class="sig-paren">(</span><em>target</em>, <em>addr=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/debug/breakpoints.html#FunctionBP"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.debug.FunctionBP" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>A breakpoint that accept a function from <a class="reference internal" href="winproxy.html#module-windows.winproxy" title="windows.winproxy"><code class="xref py py-mod docutils literal"><span class="pre">windows.winproxy</span></code></a> and able to:</p>
|
||||
<dd><p>A breakpoint that accepts a function from <a class="reference internal" href="winproxy.html#module-windows.winproxy" title="windows.winproxy"><code class="xref py py-mod docutils literal"><span class="pre">windows.winproxy</span></code></a> and able to:</p>
|
||||
<ul class="simple">
|
||||
<li>Extract the arguments of the functions</li>
|
||||
<li>Break at the return of the function</li>
|
||||
|
||||
Vendored
+4
@@ -315,6 +315,10 @@
|
||||
|
||||
</dl></dd>
|
||||
|
||||
<dt><a href="debug.html#windows.debug.Debugger.detach">detach() (windows.debug.Debugger method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="network.html#windows.winobject.network.FirewallRule.direction">direction (windows.winobject.network.FirewallRule attribute)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
Vendored
+13
-3
@@ -965,7 +965,6 @@ No more tracing !
|
||||
<span class="sd">"""Check that BP/dbg can trigger single step and that instruction follows"""</span>
|
||||
<span class="k">def</span> <span class="nf">trigger</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dbg</span><span class="p">,</span> <span class="n">exc</span><span class="p">):</span>
|
||||
<span class="n">fault_addr</span> <span class="o">=</span> <span class="n">exc</span><span class="o">.</span><span class="n">ExceptionRecord</span><span class="o">.</span><span class="n">ExceptionInformation</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="kn">import</span> <span class="nn">pdb</span><span class="p">;</span><span class="n">pdb</span><span class="o">.</span><span class="n">set_trace</span><span class="p">()</span>
|
||||
<span class="n">eip</span> <span class="o">=</span> <span class="n">dbg</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">pc</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"Instruction at <</span><span class="si">{0:#x}</span><span class="s2">> wrote at <</span><span class="si">{1:#x}</span><span class="s2">>"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">eip</span><span class="p">,</span> <span class="n">fault_addr</span><span class="p">))</span>
|
||||
<span class="n">dbg</span><span class="o">.</span><span class="n">single_step_counter</span> <span class="o">=</span> <span class="mi">4</span>
|
||||
@@ -1065,7 +1064,8 @@ No more tracing !
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Ouput:</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span>NtCreateFile of <\??\C:\Windows\syswow64\en-US\calc.exe.mui>: handle = 0xac
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span>(cmd λ) python.exe .\samples\debug_functionbp.py
|
||||
NtCreateFile of <\??\C:\Windows\syswow64\en-US\calc.exe.mui>: handle = 0xac
|
||||
Handle manually found! typename=<File>, name=<\Device\HarddiskVolume2\Windows\SysWOW64\en-US\calc.exe.mui>
|
||||
|
||||
NtCreateFile of <\Device\DeviceApi\CMApi>: handle = 0x108
|
||||
@@ -1081,6 +1081,8 @@ Exiting process
|
||||
</div>
|
||||
<div class="section" id="localdebugger">
|
||||
<span id="sample-local-debugger"></span><h3>12.10.2. <code class="xref py py-class docutils literal"><span class="pre">LocalDebugger</span></code><a class="headerlink" href="#localdebugger" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="section" id="in-current-process">
|
||||
<h4>12.10.2.1. In current process<a class="headerlink" href="#in-current-process" title="Permalink to this headline">¶</a></h4>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
|
||||
<span class="kn">import</span> <span class="nn">os.path</span>
|
||||
<span class="kn">import</span> <span class="nn">pprint</span>
|
||||
@@ -1137,6 +1139,9 @@ EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004L) at 0x770d7c04
|
||||
Done!
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="id1">
|
||||
<h4>12.10.2.2. In remote process<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h4>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
|
||||
<span class="kn">import</span> <span class="nn">os.path</span>
|
||||
<span class="kn">import</span> <span class="nn">pprint</span>
|
||||
@@ -1209,6 +1214,7 @@ Done!
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="make-wmi-requests">
|
||||
<span id="wmi-request"></span><h3>12.10.3. Make WMI requests<a class="headerlink" href="#make-wmi-requests" title="Permalink to this headline">¶</a></h3>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
|
||||
@@ -1351,7 +1357,11 @@ Done!
|
||||
<li><a class="reference internal" href="#windows-debug-functionbp">12.10.1.2. <code class="docutils literal"><span class="pre">windows.debug.FunctionBP</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#localdebugger">12.10.2. <code class="docutils literal"><span class="pre">LocalDebugger</span></code></a></li>
|
||||
<li><a class="reference internal" href="#localdebugger">12.10.2. <code class="docutils literal"><span class="pre">LocalDebugger</span></code></a><ul>
|
||||
<li><a class="reference internal" href="#in-current-process">12.10.2.1. In current process</a></li>
|
||||
<li><a class="reference internal" href="#id1">12.10.2.2. In remote process</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#make-wmi-requests">12.10.3. Make WMI requests</a></li>
|
||||
<li><a class="reference internal" href="#using-com-inetfwpolicy2">12.10.4. using COM: <code class="docutils literal"><span class="pre">INetFwPolicy2</span></code></a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+2
-2
@@ -143,7 +143,7 @@ It also offers some submodules aimed to help the interfacing with <code class="d
|
||||
|
||||
<dl class="attribute">
|
||||
<dt id="windows.winobject.system.System.network">
|
||||
<code class="descname">network</code><em class="property"> = <windows.winobject.network.Network object at 0x04A61CF0></em><a class="headerlink" href="#windows.winobject.system.System.network" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="descname">network</code><em class="property"> = <windows.winobject.network.Network object at 0x04FC0C30></em><a class="headerlink" href="#windows.winobject.system.System.network" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Object of class <a class="reference internal" href="network.html#windows.winobject.network.Network" title="windows.winobject.network.Network"><code class="xref py py-class docutils literal"><span class="pre">windows.winobject.network.Network</span></code></a></p>
|
||||
</dd></dl>
|
||||
|
||||
@@ -184,7 +184,7 @@ It also offers some submodules aimed to help the interfacing with <code class="d
|
||||
|
||||
<dl class="attribute">
|
||||
<dt id="windows.winobject.system.System.registry">
|
||||
<code class="descname">registry</code><em class="property"> = <windows.winobject.registry.Registry object at 0x04A61D10></em><a class="headerlink" href="#windows.winobject.system.System.registry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="descname">registry</code><em class="property"> = <windows.winobject.registry.Registry object at 0x04FC0C50></em><a class="headerlink" href="#windows.winobject.system.System.registry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Object of class <a class="reference internal" href="registry.html#windows.winobject.registry.Registry" title="windows.winobject.registry.Registry"><code class="xref py py-class docutils literal"><span class="pre">windows.winobject.registry.Registry</span></code></a></p>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
@@ -389,6 +389,7 @@ Ouput::
|
||||
|
||||
Ouput::
|
||||
|
||||
(cmd λ) python.exe .\samples\debug_functionbp.py
|
||||
NtCreateFile of <\??\C:\Windows\syswow64\en-US\calc.exe.mui>: handle = 0xac
|
||||
Handle manually found! typename=<File>, name=<\Device\HarddiskVolume2\Windows\SysWOW64\en-US\calc.exe.mui>
|
||||
|
||||
@@ -407,7 +408,7 @@ Ouput::
|
||||
''''''''''''''''''''''
|
||||
|
||||
In current process
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. literalinclude:: ..\..\samples\local_debugger.py
|
||||
|
||||
@@ -424,7 +425,7 @@ Ouput::
|
||||
|
||||
|
||||
In remote process
|
||||
^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. literalinclude:: ..\..\samples\local_debugger_remote_process.py
|
||||
|
||||
|
||||
Reference in New Issue
Block a user