Files
hakril-PythonForWindows/docs/build/html/index.html
T

306 lines
24 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome to PythonForWindowss documentation! &#8212; PythonForWindows 0.6 documentation</title>
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css" />
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="1. The windows module" href="windows.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="windows.html" title="1. The windows module"
accesskey="N">next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 0.6 documentation</a> &#187;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="welcome-to-pythonforwindows-s-documentation">
<h1>Welcome to PythonForWindowss documentation!<a class="headerlink" href="#welcome-to-pythonforwindows-s-documentation" title="Permalink to this headline"></a></h1>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>PythonForWindows is a base of code aimed to make interaction with <code class="docutils literal notranslate"><span class="pre">Windows</span></code> (on X86/X64) easier (for both 32 and 64 bits Python).
Its goal is to offer abstractions around some of the OS features in a (I hope) pythonic way.
It also tries to make the barrier between python and native execution thinner in both ways.
There is no external dependencies but it relies heavily on the <code class="docutils literal notranslate"><span class="pre">ctypes</span></code> module.</p>
<p>Some of this code is clean (IMHO) and some parts are just a wreck that works for now.
Lets say that the codebase evolves with my needs and my curiosity.</p>
<p>If you have any issue, question, suggestion do not hesitate to contact me.
I am always glad to have feedbacks from people using this project.</p>
<p>Examples are available on the <a class="reference external" href="https://github.com/hakril/pythonforwindows#pythonforwindows">github page</a> and in the <a class="reference internal" href="sample.html#sample-of-code"><span class="std std-ref">Samples of code</span></a>.</p>
<div class="section" id="installation">
<h3>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h3>
<div class="section" id="installing-from-pypi">
<h4>Installing from Pypi<a class="headerlink" href="#installing-from-pypi" title="Permalink to this headline"></a></h4>
<p>PythonForWindows is available on <a class="reference external" href="https://pypi.org/project/PythonForWindows/">Pypi</a> an this can be installed with:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="n">PythonForWindows</span>
</pre></div>
</div>
</div>
<div class="section" id="installing-using-setup-py">
<h4>Installing using setup.py<a class="headerlink" href="#installing-using-setup-py" title="Permalink to this headline"></a></h4>
<p>You can also install PythonForWindows by cloning it and using the <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> at the root of the project:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">install</span>
</pre></div>
</div>
</div>
<div class="section" id="python3">
<h4>Python3<a class="headerlink" href="#python3" title="Permalink to this headline"></a></h4>
<p>python3 support is still in beta.
All the tests pass on master, but I did not test it heavily on real case.
Do not hesitate report bugs and issues.</p>
</div>
</div>
</div>
<div class="section" id="documentation">
<h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="windows.html">1. The <code class="docutils literal notranslate"><span class="pre">windows</span></code> module</a><ul>
<li class="toctree-l2"><a class="reference internal" href="windows.html#the-system-object">1.1. The <code class="docutils literal notranslate"><span class="pre">system</span></code> object</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="winobject.html">2. The <code class="docutils literal notranslate"><span class="pre">windows</span></code> objects</a><ul>
<li class="toctree-l2"><a class="reference internal" href="process.html">2.1. Processes and Threads</a></li>
<li class="toctree-l2"><a class="reference internal" href="process.html#peb-exploration">2.2. PEB Exploration</a></li>
<li class="toctree-l2"><a class="reference internal" href="process.html#pefile-parsing-loaded-pe">2.3. PEFile - Parsing loaded PE</a></li>
<li class="toctree-l2"><a class="reference internal" href="token.html">2.4. Token</a></li>
<li class="toctree-l2"><a class="reference internal" href="exception.html">2.5. Exception and Context related structures</a></li>
<li class="toctree-l2"><a class="reference internal" href="registry.html">2.6. Registry</a></li>
<li class="toctree-l2"><a class="reference internal" href="network.html">2.7. Network</a></li>
<li class="toctree-l2"><a class="reference internal" href="service.html">2.8. Service</a></li>
<li class="toctree-l2"><a class="reference internal" href="volume.html">2.9. Volume The logical drives</a></li>
<li class="toctree-l2"><a class="reference internal" href="wmi.html">2.10. WMI Make request to WMI</a></li>
<li class="toctree-l2"><a class="reference internal" href="handle.html">2.11. Handle Processes handles</a></li>
<li class="toctree-l2"><a class="reference internal" href="system_module.html">2.12. System Module Loaded kernel modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="object_manager.html">2.13. Object Manager Kernel objects</a></li>
<li class="toctree-l2"><a class="reference internal" href="device_manager.html">2.14. Device Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="task_scheduler.html">2.15. Task scheduler</a></li>
<li class="toctree-l2"><a class="reference internal" href="evtlog.html">2.16. Event Log</a></li>
<li class="toctree-l2"><a class="reference internal" href="etw.html">2.17. ETW Event Tracing for Windows</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="native_exec.html">3. <code class="docutils literal notranslate"><span class="pre">windows.native_exec</span></code> Native Code Execution</a><ul>
<li class="toctree-l2"><a class="reference internal" href="native_exec.html#module-windows.native_exec.cpuid">3.1. <code class="docutils literal notranslate"><span class="pre">windows.native_exec.cpuid</span></code> Interface to native CPUID</a></li>
<li class="toctree-l2"><a class="reference internal" href="native_exec.html#module-windows.native_exec.simple_x86">3.2. <code class="docutils literal notranslate"><span class="pre">windows.native_exec.simple_x86</span></code> X86 Assembler</a></li>
<li class="toctree-l2"><a class="reference internal" href="native_exec.html#module-windows.native_exec.simple_x64">3.3. <code class="docutils literal notranslate"><span class="pre">windows.native_exec.simple_x64</span></code> X64 Assembler</a></li>
<li class="toctree-l2"><a class="reference internal" href="native_exec.html#module-windows.native_exec.nativeutils">3.4. <code class="docutils literal notranslate"><span class="pre">windows.native_exec.nativeutils</span></code> Native utility functions</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="winproxy.html">4. <code class="docutils literal notranslate"><span class="pre">windows.winproxy</span></code> Windows API</a><ul>
<li class="toctree-l2"><a class="reference internal" href="winproxy.html#example-virtualalloc">4.1. Example: <code class="docutils literal notranslate"><span class="pre">VirtualAlloc</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="winproxy.html#helper-functions">4.2. Helper functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="winproxy.html#winproxyerror">4.3. WinproxyError</a></li>
<li class="toctree-l2"><a class="reference internal" href="winproxy.html#functions-in-windows-winproxy">4.4. Functions in <code class="docutils literal notranslate"><span class="pre">windows.winproxy</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="security.html">5. <code class="docutils literal notranslate"><span class="pre">windows.security</span></code> Security Descriptor &amp; related</a><ul>
<li class="toctree-l2"><a class="reference internal" href="security.html#token">5.1. Token</a></li>
<li class="toctree-l2"><a class="reference internal" href="security.html#securitydescriptor">5.2. SecurityDescriptor</a></li>
<li class="toctree-l2"><a class="reference internal" href="security.html#acl">5.3. Acl</a></li>
<li class="toctree-l2"><a class="reference internal" href="security.html#ace">5.4. Ace</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="pipe.html">6. <code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> Inter-Process Communication</a><ul>
<li class="toctree-l2"><a class="reference internal" href="pipe.html#helper-functions">6.1. Helper functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="pipe.html#pipeconnection">6.2. PipeConnection</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="utils.html">7. <code class="docutils literal notranslate"><span class="pre">windows.utils</span></code> Windows Utilities</a><ul>
<li class="toctree-l2"><a class="reference internal" href="utils.html#context-managers">7.1. Context Managers</a></li>
<li class="toctree-l2"><a class="reference internal" href="utils.html#helper-functions">7.2. Helper functions</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="wintrust.html">8. <code class="docutils literal notranslate"><span class="pre">windows.wintrust</span></code> Checking signature</a><ul>
<li class="toctree-l2"><a class="reference internal" href="wintrust.html#api">8.1. API</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="debug.html">9. <code class="docutils literal notranslate"><span class="pre">windows.debug</span></code> Debugging</a><ul>
<li class="toctree-l2"><a class="reference internal" href="debug.html#debugger">9.1. <code class="docutils literal notranslate"><span class="pre">Debugger</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="debug.html#symboldebugger">9.2. <code class="docutils literal notranslate"><span class="pre">SymbolDebugger</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="debug.html#localdebugger">9.3. <code class="docutils literal notranslate"><span class="pre">LocalDebugger</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="debug.html#breakpoint">9.4. <code class="docutils literal notranslate"><span class="pre">Breakpoint</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="debug.html#module-windows.debug.symbols">9.5. <code class="docutils literal notranslate"><span class="pre">windows.debug.symbols</span></code> Using symbols</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="com.html">10. <code class="docutils literal notranslate"><span class="pre">windows.com</span></code> - Component Object Model</a><ul>
<li class="toctree-l2"><a class="reference internal" href="com.html#using-a-com-interface">10.1. Using a COM interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="com.html#implementing-a-com-interface">10.2. Implementing a COM interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="com.html#api">10.3. API</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="crypto.html">11. <code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> CryptoAPI</a><ul>
<li class="toctree-l2"><a class="reference internal" href="crypto.html#encryption">11.1. Encryption</a></li>
<li class="toctree-l2"><a class="reference internal" href="crypto.html#certificate">11.2. Certificate</a></li>
<li class="toctree-l2"><a class="reference internal" href="crypto.html#module-windows.crypto.generation">11.3. Generating componants</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="alpc.html">12. <code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> Advanced Local Procedure Call</a><ul>
<li class="toctree-l2"><a class="reference internal" href="alpc.html#alpc-message">12.1. ALPC Message</a></li>
<li class="toctree-l2"><a class="reference internal" href="alpc.html#alpc-client">12.2. ALPC client</a></li>
<li class="toctree-l2"><a class="reference internal" href="alpc.html#alpc-server">12.3. ALPC Server</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="rpc.html">13. <code class="docutils literal notranslate"><span class="pre">windows.rpc</span></code> ALPC-based Windows RPC</a><ul>
<li class="toctree-l2"><a class="reference internal" href="rpc.html#rpcclient">13.1. RPCClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="rpc.html#epmapper">13.2. Epmapper</a></li>
<li class="toctree-l2"><a class="reference internal" href="rpc.html#module-windows.rpc.ndr">13.3. Ndr</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="generated.html">14. <code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> generated Windows defines and structures</a><ul>
<li class="toctree-l2"><a class="reference internal" href="windef_generated.html">14.1. WinDef</a></li>
<li class="toctree-l2"><a class="reference internal" href="ntstatus_generated.html">14.2. Ntstatus</a></li>
<li class="toctree-l2"><a class="reference internal" href="winstructs_generated.html">14.3. Winstructs</a></li>
<li class="toctree-l2"><a class="reference internal" href="winstructs_generated.html#winenums">14.4. WinEnums</a></li>
<li class="toctree-l2"><a class="reference internal" href="winerror_generated.html">14.5. WinError</a></li>
<li class="toctree-l2"><a class="reference internal" href="generated.html#example">14.6. Example</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="iat_hook.html">15. IAT hooking</a><ul>
<li class="toctree-l2"><a class="reference internal" href="iat_hook.html#putting-an-iat-hook">15.1. Putting an IAT hook</a></li>
<li class="toctree-l2"><a class="reference internal" href="iat_hook.html#hook-protocol">15.2. Hook protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="iat_hook.html#module-windows.hooks">15.3. <code class="docutils literal notranslate"><span class="pre">windows.hooks</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="wip.html">16. Early Work In Progress</a></li>
<li class="toctree-l1"><a class="reference internal" href="internals.html">17. Internals</a><ul>
<li class="toctree-l2"><a class="reference internal" href="internals.html#module-windows.remotectypes">17.1. remotectypes.py</a></li>
<li class="toctree-l2"><a class="reference internal" href="internals.html#module-windows.syswow64">17.2. syswow64.py Crossing the heaven gate</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="sample.html">18. Samples of code</a><ul>
<li class="toctree-l2"><a class="reference internal" href="sample.html#processes">18.1. Processes</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#token">18.2. Token</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#windows-system">18.3. <code class="docutils literal notranslate"><span class="pre">windows.system</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#services">18.4. Services</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#network-socket-exploration">18.5. <code class="docutils literal notranslate"><span class="pre">Network</span></code> - socket exploration</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#registry">18.6. <code class="docutils literal notranslate"><span class="pre">Registry</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#scheduled-tasks">18.7. Scheduled tasks</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#event-log">18.8. Event Log</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#object-manager">18.9. Object manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#device-manager">18.10. Device manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#windows-wintrust">18.11. <code class="docutils literal notranslate"><span class="pre">windows.wintrust</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#vectoredexception">18.12. <code class="docutils literal notranslate"><span class="pre">VectoredException()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#debugging">18.13. Debugging</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#symbols">18.14. Symbols</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#wmi">18.15. WMI</a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#windows-com">18.16. <code class="docutils literal notranslate"><span class="pre">windows.com</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#windows-crypto">18.17. <code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#windows-alpc">18.18. <code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#windows-rpc">18.19. <code class="docutils literal notranslate"><span class="pre">windows.rpc</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#windows-pipe">18.20. <code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#windows-security">18.21. <code class="docutils literal notranslate"><span class="pre">windows.security</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="sample.html#etw-event-tracing-for-windows">18.22. ETW (Event Tracing for Windows)</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div class="section" id="indices-and-tables">
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h1>
<ul class="simple">
<li><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></li>
<li><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></li>
<li><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="#">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Welcome to PythonForWindowss documentation!</a><ul>
<li><a class="reference internal" href="#description">Description</a><ul>
<li><a class="reference internal" href="#installation">Installation</a><ul>
<li><a class="reference internal" href="#installing-from-pypi">Installing from Pypi</a></li>
<li><a class="reference internal" href="#installing-using-setup-py">Installing using setup.py</a></li>
<li><a class="reference internal" href="#python3">Python3</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#documentation">Documentation</a></li>
</ul>
</li>
<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
</ul>
<h4>Next topic</h4>
<p class="topless"><a href="windows.html"
title="next chapter">1. The <code class="docutils literal notranslate"><span class="pre">windows</span></code> module</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/index.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="windows.html" title="1. The windows module"
>next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 0.6 documentation</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2015-2020, Clement Rouault.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
</div>
</body>
</html>