5035 lines
409 KiB
HTML
5035 lines
409 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>binaryview module — Binary Ninja API 1.1.0 documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/other.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="top" title="Binary Ninja API 1.1.0 documentation" href="index.html"/>
|
|
<link rel="next" title="binaryninja.binaryview.ActiveAnalysisInfo" href="binaryninja.binaryview.ActiveAnalysisInfo.html"/>
|
|
<link rel="prev" title="binaryninja.binaryninja.worker_priority_enqueue" href="binaryninja.binaryninja.worker_priority_enqueue.html"/>
|
|
|
|
|
|
<script src="_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-scroll">
|
|
<div class="wy-side-nav-search">
|
|
|
|
|
|
|
|
<a href="index.html" class="icon icon-home"> Binary Ninja API
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
<div class="version">
|
|
1.1
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.architecture-module.html">architecture</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.atexit-module.html">atexit</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.basicblock-module.html">basicblock</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.binaryninja-module.html">binaryninja</a></li>
|
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">binaryview</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.ActiveAnalysisInfo.html">binaryninja.binaryview.ActiveAnalysisInfo</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.AddressRange.html">binaryninja.binaryview.AddressRange</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.AnalysisCompletionEvent.html">binaryninja.binaryview.AnalysisCompletionEvent</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.AnalysisInfo.html">binaryninja.binaryview.AnalysisInfo</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.AnalysisProgress.html">binaryninja.binaryview.AnalysisProgress</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.BinaryDataNotification.html">binaryninja.binaryview.BinaryDataNotification</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.BinaryDataNotificationCallbacks.html">binaryninja.binaryview.BinaryDataNotificationCallbacks</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.BinaryReader.html">binaryninja.binaryview.BinaryReader</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.BinaryView.html">binaryninja.binaryview.BinaryView</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.BinaryViewType.html">binaryninja.binaryview.BinaryViewType</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.BinaryWriter.html">binaryninja.binaryview.BinaryWriter</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.DataVariable.html">binaryninja.binaryview.DataVariable</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.Section.html">binaryninja.binaryview.Section</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.Segment.html">binaryninja.binaryview.Segment</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.StringReference.html">binaryninja.binaryview.StringReference</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.range.html">binaryninja.binaryview.range</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="binaryninja.binaryview.with_metaclass.html">binaryninja.binaryview.with_metaclass</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.builtins-module.html">builtins</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.callingconvention-module.html">callingconvention</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.databuffer-module.html">databuffer</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.demangle-module.html">demangle</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.downloadprovider-module.html">downloadprovider</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.enums-module.html">enums</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.fileaccessor-module.html">fileaccessor</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.filemetadata-module.html">filemetadata</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.function-module.html">function</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.functionrecognizer-module.html">functionrecognizer</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.highlight-module.html">highlight</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.interaction-module.html">interaction</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.lineardisassembly-module.html">lineardisassembly</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.log-module.html">log</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.lowlevelil-module.html">lowlevelil</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.mainthread-module.html">mainthread</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.mediumlevelil-module.html">mediumlevelil</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.metadata-module.html">metadata</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.platform-module.html">platform</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.plugin-module.html">plugin</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.pluginmanager-module.html">pluginmanager</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.pyopenssl-module.html">pyopenssl</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.requests-module.html">requests</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.scriptingprovider-module.html">scriptingprovider</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.setting-module.html">setting</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.transform-module.html">transform</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.types-module.html">types</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.undoaction-module.html">undoaction</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="binaryninja.update-module.html">update</a></li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="index.html">Binary Ninja API</a>
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
|
|
<li><a href="index.html">Docs</a> »</li>
|
|
|
|
<li>binaryview module</li>
|
|
|
|
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
|
|
<a href="_sources/binaryninja.binaryview-module.txt" rel="nofollow"> View page source</a>
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<div class="section" id="binaryview-module">
|
|
<h1>binaryview module<a class="headerlink" href="#binaryview-module" title="Permalink to this headline">¶</a></h1>
|
|
<table border="1" class="longtable docutils">
|
|
<colgroup>
|
|
<col width="10%" />
|
|
<col width="90%" />
|
|
</colgroup>
|
|
<tbody valign="top">
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.ActiveAnalysisInfo.html#binaryninja.binaryview.ActiveAnalysisInfo" title="binaryninja.binaryview.ActiveAnalysisInfo"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.ActiveAnalysisInfo</span></code></a>(...)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-even"><td><a class="reference internal" href="binaryninja.binaryview.AddressRange.html#binaryninja.binaryview.AddressRange" title="binaryninja.binaryview.AddressRange"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.AddressRange</span></code></a>(start, end)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.AnalysisCompletionEvent.html#binaryninja.binaryview.AnalysisCompletionEvent" title="binaryninja.binaryview.AnalysisCompletionEvent"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.AnalysisCompletionEvent</span></code></a>(...)</td>
|
|
<td>The <code class="docutils literal"><span class="pre">AnalysisCompletionEvent</span></code> object provides an asynchronous mechanism for receiving callbacks when analysis is complete.</td>
|
|
</tr>
|
|
<tr class="row-even"><td><a class="reference internal" href="binaryninja.binaryview.AnalysisInfo.html#binaryninja.binaryview.AnalysisInfo" title="binaryninja.binaryview.AnalysisInfo"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.AnalysisInfo</span></code></a>(state, ...)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.AnalysisProgress.html#binaryninja.binaryview.AnalysisProgress" title="binaryninja.binaryview.AnalysisProgress"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.AnalysisProgress</span></code></a>(...)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-even"><td><a class="reference internal" href="binaryninja.binaryview.BinaryDataNotification.html#binaryninja.binaryview.BinaryDataNotification" title="binaryninja.binaryview.BinaryDataNotification"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.BinaryDataNotification</span></code></a>()</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.BinaryDataNotificationCallbacks.html#binaryninja.binaryview.BinaryDataNotificationCallbacks" title="binaryninja.binaryview.BinaryDataNotificationCallbacks"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.BinaryDataNotificationCallbacks</span></code></a>(...)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-even"><td><a class="reference internal" href="binaryninja.binaryview.BinaryReader.html#binaryninja.binaryview.BinaryReader" title="binaryninja.binaryview.BinaryReader"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.BinaryReader</span></code></a>(view[, ...])</td>
|
|
<td><code class="docutils literal"><span class="pre">class</span> <span class="pre">BinaryReader</span></code> is a convenience class for reading binary data.</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.BinaryView.html#binaryninja.binaryview.BinaryView" title="binaryninja.binaryview.BinaryView"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.BinaryView</span></code></a>([...])</td>
|
|
<td><code class="docutils literal"><span class="pre">class</span> <span class="pre">BinaryView</span></code> implements a view on binary data, and presents a queryable interface of a binary file. One key</td>
|
|
</tr>
|
|
<tr class="row-even"><td><a class="reference internal" href="binaryninja.binaryview.BinaryViewType.html#binaryninja.binaryview.BinaryViewType" title="binaryninja.binaryview.BinaryViewType"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.BinaryViewType</span></code></a>(handle)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.BinaryWriter.html#binaryninja.binaryview.BinaryWriter" title="binaryninja.binaryview.BinaryWriter"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.BinaryWriter</span></code></a>(view[, ...])</td>
|
|
<td><code class="docutils literal"><span class="pre">class</span> <span class="pre">BinaryWriter</span></code> is a convenience class for writing binary data.</td>
|
|
</tr>
|
|
<tr class="row-even"><td><a class="reference internal" href="binaryninja.binaryview.DataVariable.html#binaryninja.binaryview.DataVariable" title="binaryninja.binaryview.DataVariable"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.DataVariable</span></code></a>(addr, ...)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.Section.html#binaryninja.binaryview.Section" title="binaryninja.binaryview.Section"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.Section</span></code></a>(name, ...)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-even"><td><a class="reference internal" href="binaryninja.binaryview.Segment.html#binaryninja.binaryview.Segment" title="binaryninja.binaryview.Segment"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.Segment</span></code></a>(start, ...)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.StringReference.html#binaryninja.binaryview.StringReference" title="binaryninja.binaryview.StringReference"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.StringReference</span></code></a>(bv, ...)</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-even"><td><a class="reference internal" href="binaryninja.binaryview.range.html#binaryninja.binaryview.range" title="binaryninja.binaryview.range"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.range</span></code></a>(*args)</td>
|
|
<td>A Python2 and Python3 Compatible Range Generator</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><a class="reference internal" href="binaryninja.binaryview.with_metaclass.html#binaryninja.binaryview.with_metaclass" title="binaryninja.binaryview.with_metaclass"><code class="xref py py-obj docutils literal"><span class="pre">binaryninja.binaryview.with_metaclass</span></code></a>(meta, ...)</td>
|
|
<td>Create a base class with a metaclass.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="toctree-wrapper compound">
|
|
</div>
|
|
<span class="target" id="module-binaryninja.binaryview"></span><dl class="class">
|
|
<dt id="binaryninja.binaryview.ActiveAnalysisInfo">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">ActiveAnalysisInfo</code><span class="sig-paren">(</span><em>func</em>, <em>analysis_time</em>, <em>update_count</em>, <em>submit_count</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#ActiveAnalysisInfo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.ActiveAnalysisInfo" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.AddressRange">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">AddressRange</code><span class="sig-paren">(</span><em>start</em>, <em>end</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#AddressRange"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.AddressRange" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.AddressRange.length">
|
|
<code class="descname">length</code><a class="headerlink" href="#binaryninja.binaryview.AddressRange.length" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.AnalysisCompletionEvent">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">AnalysisCompletionEvent</code><span class="sig-paren">(</span><em>view</em>, <em>callback</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#AnalysisCompletionEvent"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.AnalysisCompletionEvent" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<p>The <code class="docutils literal"><span class="pre">AnalysisCompletionEvent</span></code> object provides an asynchronous mechanism for receiving
|
|
callbacks when analysis is complete. The callback runs once. A completion event must be added
|
|
for each new analysis in order to be notified of each analysis completion. The
|
|
AnalysisCompletionEvent class takes responcibility for keeping track of the object’s lifetime.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">def</span> <span class="nf">on_complete</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="s2">"Analysis Complete"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">view</span><span class="p">)</span>
|
|
<span class="gp">...</span>
|
|
<span class="gp">>>> </span><span class="n">evt</span> <span class="o">=</span> <span class="n">AnalysisCompletionEvent</span><span class="p">(</span><span class="n">bv</span><span class="p">,</span> <span class="n">on_complete</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.AnalysisCompletionEvent.cancel">
|
|
<code class="descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#AnalysisCompletionEvent.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.AnalysisCompletionEvent.cancel" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>shut down and no further analysis should be done afterward.</p>
|
|
</dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.AnalysisInfo">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">AnalysisInfo</code><span class="sig-paren">(</span><em>state</em>, <em>analysis_time</em>, <em>active_info</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#AnalysisInfo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.AnalysisInfo" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.AnalysisProgress">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">AnalysisProgress</code><span class="sig-paren">(</span><em>state</em>, <em>count</em>, <em>total</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#AnalysisProgress"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.AnalysisProgress" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">BinaryDataNotification</code><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.data_inserted">
|
|
<code class="descname">data_inserted</code><span class="sig-paren">(</span><em>view</em>, <em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.data_inserted"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.data_inserted" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.data_removed">
|
|
<code class="descname">data_removed</code><span class="sig-paren">(</span><em>view</em>, <em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.data_removed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.data_removed" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.data_var_added">
|
|
<code class="descname">data_var_added</code><span class="sig-paren">(</span><em>view</em>, <em>var</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.data_var_added"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.data_var_added" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.data_var_removed">
|
|
<code class="descname">data_var_removed</code><span class="sig-paren">(</span><em>view</em>, <em>var</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.data_var_removed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.data_var_removed" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.data_var_updated">
|
|
<code class="descname">data_var_updated</code><span class="sig-paren">(</span><em>view</em>, <em>var</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.data_var_updated"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.data_var_updated" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.data_written">
|
|
<code class="descname">data_written</code><span class="sig-paren">(</span><em>view</em>, <em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.data_written"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.data_written" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.function_added">
|
|
<code class="descname">function_added</code><span class="sig-paren">(</span><em>view</em>, <em>func</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.function_added"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.function_added" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.function_removed">
|
|
<code class="descname">function_removed</code><span class="sig-paren">(</span><em>view</em>, <em>func</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.function_removed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.function_removed" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.function_update_requested">
|
|
<code class="descname">function_update_requested</code><span class="sig-paren">(</span><em>view</em>, <em>func</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.function_update_requested"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.function_update_requested" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.function_updated">
|
|
<code class="descname">function_updated</code><span class="sig-paren">(</span><em>view</em>, <em>func</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.function_updated"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.function_updated" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.string_found">
|
|
<code class="descname">string_found</code><span class="sig-paren">(</span><em>view</em>, <em>string_type</em>, <em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.string_found"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.string_found" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.string_removed">
|
|
<code class="descname">string_removed</code><span class="sig-paren">(</span><em>view</em>, <em>string_type</em>, <em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.string_removed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.string_removed" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.type_defined">
|
|
<code class="descname">type_defined</code><span class="sig-paren">(</span><em>view</em>, <em>name</em>, <em>type</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.type_defined"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.type_defined" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotification.type_undefined">
|
|
<code class="descname">type_undefined</code><span class="sig-paren">(</span><em>view</em>, <em>name</em>, <em>type</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotification.type_undefined"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotification.type_undefined" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.BinaryDataNotificationCallbacks">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">BinaryDataNotificationCallbacks</code><span class="sig-paren">(</span><em>view</em>, <em>notify</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryDataNotificationCallbacks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryDataNotificationCallbacks" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.BinaryReader">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">BinaryReader</code><span class="sig-paren">(</span><em>view</em>, <em>endian=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<p><code class="docutils literal"><span class="pre">class</span> <span class="pre">BinaryReader</span></code> is a convenience class for reading binary data.</p>
|
|
<p>BinaryReader can be instantiated as follows and the rest of the document will start from this context</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">binaryninja</span> <span class="k">import</span> <span class="o">*</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span> <span class="o">=</span> <span class="n">BinaryViewType</span><span class="p">[</span><span class="s1">'Mach-O'</span><span class="p">]</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">"/bin/ls"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">br</span> <span class="o">=</span> <span class="n">BinaryReader</span><span class="p">(</span><span class="n">bv</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read32</span><span class="p">())</span>
|
|
<span class="go">'0xfeedfacfL'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Or using the optional endian parameter</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">binaryninja</span> <span class="k">import</span> <span class="o">*</span>
|
|
<span class="gp">>>> </span><span class="n">br</span> <span class="o">=</span> <span class="n">BinaryReader</span><span class="p">(</span><span class="n">bv</span><span class="p">,</span> <span class="n">Endianness</span><span class="o">.</span><span class="n">BigEndian</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read32</span><span class="p">())</span>
|
|
<span class="go">'0xcffaedfeL'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryReader.endianness">
|
|
<code class="descname">endianness</code><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.endianness" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>The Endianness to read data. (read/write)</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Getter:</th><td class="field-body">returns the endianness of the reader</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Setter:</th><td class="field-body">sets the endianness of the reader (BigEndian or LittleEndian)</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">Endianness</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryReader.eof">
|
|
<code class="descname">eof</code><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.eof" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Is end of file (read-only)</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Getter:</th><td class="field-body">returns boolean, true if end of file, false otherwise</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Type:</th><td class="field-body">bool</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryReader.offset">
|
|
<code class="descname">offset</code><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.offset" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>The current read offset (read/write).</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Getter:</th><td class="field-body">returns the current internal offset</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Setter:</th><td class="field-body">sets the internal offset</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read">
|
|
<code class="descname">read</code><span class="sig-paren">(</span><em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read</span></code> returns <code class="docutils literal"><span class="pre">length</span></code> bytes read from the current offset, adding <code class="docutils literal"><span class="pre">length</span></code> to offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>length</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – number of bytes to read.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><code class="docutils literal"><span class="pre">length</span></code> bytes from current offset</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">str, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
|
|
<span class="go">'\xcf\xfa\xed\xfe\x07\x00\x00\x01'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read16">
|
|
<code class="descname">read16</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read16"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read16" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read16</span></code> returns a two byte integer from offet incrementing the offset by two, using specified endianness.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a two byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read16</span><span class="p">())</span>
|
|
<span class="go">'0xfacf'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read16be">
|
|
<code class="descname">read16be</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read16be"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read16be" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read16be</span></code> returns a two byte big endian integer from offet incrementing the offset by two.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a two byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read16be</span><span class="p">())</span>
|
|
<span class="go">'0xcffa'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read16le">
|
|
<code class="descname">read16le</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read16le"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read16le" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read16le</span></code> returns a two byte little endian integer from offet incrementing the offset by two.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a two byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Exmaple:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read16le</span><span class="p">())</span>
|
|
<span class="go">'0xfacf'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read32">
|
|
<code class="descname">read32</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read32"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read32" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read32</span></code> returns a four byte integer from offet incrementing the offset by four, using specified endianness.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a four byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read32</span><span class="p">())</span>
|
|
<span class="go">'0xfeedfacfL'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read32be">
|
|
<code class="descname">read32be</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read32be"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read32be" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read32be</span></code> returns a four byte big endian integer from offet incrementing the offset by four.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a four byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read32be</span><span class="p">())</span>
|
|
<span class="go">'0xcffaedfe'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read32le">
|
|
<code class="descname">read32le</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read32le"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read32le" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read32le</span></code> returns a four byte little endian integer from offet incrementing the offset by four.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a four byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read32le</span><span class="p">())</span>
|
|
<span class="go">'0xfeedfacf'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read64">
|
|
<code class="descname">read64</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read64"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read64" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read64</span></code> returns an eight byte integer from offet incrementing the offset by eight, using specified endianness.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">an eight byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read64</span><span class="p">())</span>
|
|
<span class="go">'0x1000007feedfacfL'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read64be">
|
|
<code class="descname">read64be</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read64be"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read64be" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read64be</span></code> returns an eight byte big endian integer from offet incrementing the offset by eight.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a eight byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read64be</span><span class="p">())</span>
|
|
<span class="go">'0xcffaedfe07000001L'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read64le">
|
|
<code class="descname">read64le</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read64le"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read64le" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read64le</span></code> returns an eight byte little endian integer from offet incrementing the offset by eight.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a eight byte integer at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">read64le</span><span class="p">())</span>
|
|
<span class="go">'0x1000007feedfacf'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.read8">
|
|
<code class="descname">read8</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.read8"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.read8" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read8</span></code> returns a one byte integer from offet incrementing the offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">byte at offset.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">int, or None on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">read8</span><span class="p">()</span>
|
|
<span class="go">207</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.seek">
|
|
<code class="descname">seek</code><span class="sig-paren">(</span><em>offset</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.seek"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.seek" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">seek</span></code> update internal offset to <code class="docutils literal"><span class="pre">offset</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>offset</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – offset to set the internal offset to</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">offset</span><span class="p">)</span>
|
|
<span class="go">'0x100000008L'</span>
|
|
<span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">offset</span><span class="p">)</span>
|
|
<span class="go">'0x100000000L'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryReader.seek_relative">
|
|
<code class="descname">seek_relative</code><span class="sig-paren">(</span><em>offset</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryReader.seek_relative"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryReader.seek_relative" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">seek_relative</span></code> updates the internal offset by <code class="docutils literal"><span class="pre">offset</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>offset</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – offset to add to the internal offset</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">offset</span><span class="p">)</span>
|
|
<span class="go">'0x100000008L'</span>
|
|
<span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">seek_relative</span><span class="p">(</span><span class="o">-</span><span class="mi">8</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">br</span><span class="o">.</span><span class="n">offset</span><span class="p">)</span>
|
|
<span class="go">'0x100000000L'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.BinaryView">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">BinaryView</code><span class="sig-paren">(</span><em>file_metadata=None</em>, <em>parent_view=None</em>, <em>handle=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<p><code class="docutils literal"><span class="pre">class</span> <span class="pre">BinaryView</span></code> implements a view on binary data, and presents a queryable interface of a binary file. One key
|
|
job of BinaryView is file format parsing which allows Binary Ninja to read, write, insert, remove portions
|
|
of the file given a virtual address. For the purposes of this documentation we define a virtual address as the
|
|
memory address that the various pieces of the physical file will be loaded at.</p>
|
|
<p>A binary file does not have to have just one BinaryView, thus much of the interface to manipulate disassembly exists
|
|
within or is accessed through a BinaryView. All files are guaranteed to have at least the <code class="docutils literal"><span class="pre">Raw</span></code> BinaryView. The
|
|
<code class="docutils literal"><span class="pre">Raw</span></code> BinaryView is simply a hex editor, but is helpful for manipulating binary files via their absolute addresses.</p>
|
|
<p>BinaryViews are plugins and thus registered with Binary Ninja at startup, and thus should <strong>never</strong> be instantiated
|
|
directly as this is already done. The list of available BinaryViews can be seen in the BinaryViewType class which
|
|
provides an iterator and map of the various installed BinaryViews:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">list</span><span class="p">(</span><span class="n">BinaryViewType</span><span class="p">)</span>
|
|
<span class="go">[<view type: 'Raw'>, <view type: 'ELF'>, <view type: 'Mach-O'>, <view type: 'PE'>]</span>
|
|
<span class="gp">>>> </span><span class="n">BinaryViewType</span><span class="p">[</span><span class="s1">'ELF'</span><span class="p">]</span>
|
|
<span class="go"><view type: 'ELF'></span>
|
|
</pre></div>
|
|
</div>
|
|
<p>To open a file with a given BinaryView the following code can be used:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span> <span class="o">=</span> <span class="n">BinaryViewType</span><span class="p">[</span><span class="s1">'Mach-O'</span><span class="p">]</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">"/bin/ls"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span>
|
|
<span class="go"><BinaryView: '/bin/ls', start 0x100000000, len 0xa000></span>
|
|
</pre></div>
|
|
</div>
|
|
<p><cite>By convention in the rest of this document we will use bv to mean an open BinaryView of an executable file.</cite>
|
|
When a BinaryView is open on an executable view, analysis does not automatically run, this can be done by running
|
|
the <code class="docutils literal"><span class="pre">update_analysis_and_wait()</span></code> method which disassembles the executable and returns when all disassembly is
|
|
finished:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">update_analysis_and_wait</span><span class="p">()</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Since BinaryNinja’s analysis is multi-threaded (depending on version) this can also be done in the background by
|
|
using the <code class="docutils literal"><span class="pre">update_analysis()</span></code> method instead.</p>
|
|
<p>By standard python convention methods which start with ‘_’ should be considered private and should not be called
|
|
externally. Additionanlly, methods which begin with <code class="docutils literal"><span class="pre">perform_</span></code> should not be called either and are
|
|
used explicitly for subclassing the BinaryView.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">An important note on the <code class="docutils literal"><span class="pre">*_user_*()</span></code> methods. Binary Ninja makes a distinction between edits performed by the user and actions performed by auto analysis. Auto analysis actions that can quickly be recalculated are not saved to the database. Auto analysis actions that take a long time and all user edits are stored in the database (e.g. <code class="docutils literal"><span class="pre">remove_user_function()</span></code> rather than <code class="docutils literal"><span class="pre">remove_function()</span></code>). Thus use <code class="docutils literal"><span class="pre">_user_</span></code> methods if saving to the database is desired.</p>
|
|
</div>
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.abort_analysis">
|
|
<code class="descname">abort_analysis</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.abort_analysis"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.abort_analysis" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">abort_analysis</span></code> will abort the currently running analysis.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_analysis_completion_event">
|
|
<code class="descname">add_analysis_completion_event</code><span class="sig-paren">(</span><em>callback</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_analysis_completion_event"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_analysis_completion_event" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">add_analysis_completion_event</span></code> sets up a call back function to be called when analysis has been completed.
|
|
This is helpful when using <code class="docutils literal"><span class="pre">update_analysis</span></code> which does not wait for analysis completion before returning.</p>
|
|
<p>The callee of this function is not resposible for maintaining the lifetime of the returned AnalysisCompletionEvent object.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>callback</strong> (<em>callable()</em>) – A function to be called with no parameters when analysis has completed.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">An initialized AnalysisCompletionEvent object.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.binaryview.AnalysisCompletionEvent.html#binaryninja.binaryview.AnalysisCompletionEvent" title="binaryninja.binaryview.AnalysisCompletionEvent">AnalysisCompletionEvent</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">def</span> <span class="nf">completionEvent</span><span class="p">():</span>
|
|
<span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="s2">"done"</span><span class="p">)</span>
|
|
<span class="gp">...</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">add_analysis_completion_event</span><span class="p">(</span><span class="n">completionEvent</span><span class="p">)</span>
|
|
<span class="go"><binaryninja.AnalysisCompletionEvent object at 0x10a2c9f10></span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">update_analysis</span><span class="p">()</span>
|
|
<span class="go">done</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_analysis_option">
|
|
<code class="descname">add_analysis_option</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_analysis_option"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_analysis_option" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">add_analysis_option</span></code> adds an analysis option. Analysis options elaborate the analysis phase. The user must
|
|
start analysis by calling either <code class="docutils literal"><span class="pre">update_analysis()</span></code> or <code class="docutils literal"><span class="pre">update_analysis_and_wait()</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>name</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – name of the analysis option. Available options:
|
|
“linearsweep” : apply linearsweep analysis during the next analysis update (run-once semantics)</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">add_analysis_option</span><span class="p">(</span><span class="s2">"linearsweep"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">update_analysis_and_wait</span><span class="p">()</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_auto_section">
|
|
<code class="descname">add_auto_section</code><span class="sig-paren">(</span><em>name</em>, <em>start</em>, <em>length</em>, <em>semantics=<SectionSemantics.DefaultSectionSemantics: 0></em>, <em>type=''</em>, <em>align=1</em>, <em>entry_size=1</em>, <em>linked_section=''</em>, <em>info_section=''</em>, <em>info_data=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_auto_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_auto_section" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_auto_segment">
|
|
<code class="descname">add_auto_segment</code><span class="sig-paren">(</span><em>start</em>, <em>length</em>, <em>data_offset</em>, <em>data_length</em>, <em>flags</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_auto_segment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_auto_segment" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_entry_point">
|
|
<code class="descname">add_entry_point</code><span class="sig-paren">(</span><em>addr</em>, <em>plat=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_entry_point"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_entry_point" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">add_entry_point</span></code> adds an virtual address to start analysis from for a given plat.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to start analysis from</li>
|
|
<li><strong>plat</strong> (<a class="reference internal" href="binaryninja.platform.Platform.html#binaryninja.platform.Platform" title="binaryninja.platform.Platform"><em>Platform</em></a>) – Platform for the entry point analysis</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">add_entry_point</span><span class="p">(</span><span class="mh">0xdeadbeef</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_function">
|
|
<code class="descname">add_function</code><span class="sig-paren">(</span><em>addr</em>, <em>plat=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_function" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">add_function</span></code> add a new function of the given <code class="docutils literal"><span class="pre">plat</span></code> at the virtual address <code class="docutils literal"><span class="pre">addr</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the function to be added</li>
|
|
<li><strong>plat</strong> (<a class="reference internal" href="binaryninja.platform.Platform.html#binaryninja.platform.Platform" title="binaryninja.platform.Platform"><em>Platform</em></a>) – Platform for the function to be added</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">add_function</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">functions</span>
|
|
<span class="go">[<func: x86_64@0x1>]</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_undo_action">
|
|
<code class="descname">add_undo_action</code><span class="sig-paren">(</span><em>action</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_undo_action"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_undo_action" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_user_section">
|
|
<code class="descname">add_user_section</code><span class="sig-paren">(</span><em>name</em>, <em>start</em>, <em>length</em>, <em>semantics=<SectionSemantics.DefaultSectionSemantics: 0></em>, <em>type=''</em>, <em>align=1</em>, <em>entry_size=1</em>, <em>linked_section=''</em>, <em>info_section=''</em>, <em>info_data=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_user_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_user_section" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.add_user_segment">
|
|
<code class="descname">add_user_segment</code><span class="sig-paren">(</span><em>start</em>, <em>length</em>, <em>data_offset</em>, <em>data_length</em>, <em>flags</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.add_user_segment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.add_user_segment" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.address_size">
|
|
<code class="descname">address_size</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.address_size" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Address size of the binary (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.allocated_ranges">
|
|
<code class="descname">allocated_ranges</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.allocated_ranges" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>List of valid address ranges for this view (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.always_branch">
|
|
<code class="descname">always_branch</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.always_branch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.always_branch" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">always_branch</span></code> convert the instruction of architecture <code class="docutils literal"><span class="pre">arch</span></code> at the virtual address <code class="docutils literal"><span class="pre">addr</span></code> to an
|
|
unconditional branch.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This API performs a binary patch, analysis may need to be updated afterward. Additionally the binary file must be saved in order to preserve the changes made.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the instruction to be modified</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True on success, False on falure.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">'jg 0x100012f5'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">always_branch</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">'jmp 0x100012f5'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.analysis_changed">
|
|
<code class="descname">analysis_changed</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.analysis_changed" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>boolean analysis state changed of the currently running analysis (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.analysis_info">
|
|
<code class="descname">analysis_info</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.analysis_info" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Relevant analysis information with list of functions under active analysis (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.analysis_progress">
|
|
<code class="descname">analysis_progress</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.analysis_progress" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Status of current analysis (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.arch">
|
|
<code class="descname">arch</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.arch" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>The architecture associated with the current BinaryView (read/write)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.available_view_types">
|
|
<code class="descname">available_view_types</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.available_view_types" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Available view types (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.basic_blocks">
|
|
<code class="descname">basic_blocks</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.basic_blocks" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A generator of all BasicBlock objects in the BinaryView</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.begin_undo_actions">
|
|
<code class="descname">begin_undo_actions</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.begin_undo_actions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.begin_undo_actions" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">begin_undo_actions</span></code> start recording actions taken so the can be undone at some point.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">begin_undo_actions</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">convert_to_nop</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">commit_undo_actions</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">undo</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.commit_undo_actions">
|
|
<code class="descname">commit_undo_actions</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.commit_undo_actions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.commit_undo_actions" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">commit_undo_actions</span></code> commit the actions taken since the last commit to the undo database.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">begin_undo_actions</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">convert_to_nop</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">commit_undo_actions</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">undo</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.convert_to_nop">
|
|
<code class="descname">convert_to_nop</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.convert_to_nop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.convert_to_nop" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">convert_to_nop</span></code> converts the instruction at virtual address <code class="docutils literal"><span class="pre">addr</span></code> to a nop of the provided architecture.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This API performs a binary patch, analysis may need to be updated afterward. Additionally the binary file must be saved in order to preserve the changes made.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the instruction to conver to nops</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True on success, False on falure.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012fb</span><span class="p">)</span>
|
|
<span class="go">'call 0x10001629'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">convert_to_nop</span><span class="p">(</span><span class="mh">0x100012fb</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="c1">#The above 'call' instruction is 5 bytes, a nop in x86 is 1 byte,</span>
|
|
<span class="gp">>>> </span><span class="c1"># thus 5 nops are used:</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012fb</span><span class="p">)</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_disassembly</span><span class="p">()</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_disassembly</span><span class="p">()</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_disassembly</span><span class="p">()</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_disassembly</span><span class="p">()</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_disassembly</span><span class="p">()</span>
|
|
<span class="go">'mov byte [ebp-0x1c], al'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.create_database">
|
|
<code class="descname">create_database</code><span class="sig-paren">(</span><em>filename</em>, <em>progress_func=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.create_database"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.create_database" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">create_database</span></code> writes the current database (.bndb) file out to the specified file.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – path and filename to write the bndb to, this string <cite>should</cite> have ”.bndb” appended to it.</li>
|
|
<li><strong>progress_func</strong> (<em>callable()</em>) – optional function to be called with the current progress and total count.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">true on success, false on failure</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.create_user_function">
|
|
<code class="descname">create_user_function</code><span class="sig-paren">(</span><em>addr</em>, <em>plat=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.create_user_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.create_user_function" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">create_user_function</span></code> add a new <em>user</em> function of the given <code class="docutils literal"><span class="pre">plat</span></code> at the virtual address <code class="docutils literal"><span class="pre">addr</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the <em>user</em> function to be added</li>
|
|
<li><strong>plat</strong> (<a class="reference internal" href="binaryninja.platform.Platform.html#binaryninja.platform.Platform" title="binaryninja.platform.Platform"><em>Platform</em></a>) – Platform for the function to be added</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">create_user_function</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">functions</span>
|
|
<span class="go">[<func: x86_64@0x1>]</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.data_vars">
|
|
<code class="descname">data_vars</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.data_vars" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>List of data variables (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.define_auto_symbol">
|
|
<code class="descname">define_auto_symbol</code><span class="sig-paren">(</span><em>sym</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.define_auto_symbol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.define_auto_symbol" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">define_auto_symbol</span></code> adds a symbol to the internal list of automatically discovered Symbol objects.</p>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">If multiple symbols for the same address are defined, only the most recent symbol will ever be used.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>sym</strong> (<a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol"><em>Symbol</em></a>) – the symbol to define</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.define_auto_symbol_and_var_or_function">
|
|
<code class="descname">define_auto_symbol_and_var_or_function</code><span class="sig-paren">(</span><em>sym</em>, <em>sym_type</em>, <em>plat=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.define_auto_symbol_and_var_or_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.define_auto_symbol_and_var_or_function" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">define_auto_symbol_and_var_or_function</span></code></p>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">If multiple symbols for the same address are defined, only the most recent symbol will ever be used.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>sym</strong> (<a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol"><em>Symbol</em></a>) – the symbol to define</li>
|
|
<li><strong>sym_type</strong> (<a class="reference internal" href="binaryninja.enums.SymbolType.html#binaryninja.enums.SymbolType" title="binaryninja.enums.SymbolType"><em>SymbolType</em></a>) – Type of symbol being defined</li>
|
|
<li><strong>plat</strong> (<a class="reference internal" href="binaryninja.platform.Platform.html#binaryninja.platform.Platform" title="binaryninja.platform.Platform"><em>Platform</em></a>) – (optional) platform</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.define_data_var">
|
|
<code class="descname">define_data_var</code><span class="sig-paren">(</span><em>addr</em>, <em>var_type</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.define_data_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.define_data_var" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">define_data_var</span></code> defines a non-user data variable <code class="docutils literal"><span class="pre">var_type</span></code> at the virtual address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to define the given data variable</li>
|
|
<li><strong>var_type</strong> (<a class="reference internal" href="binaryninja.types.Type.html#binaryninja.types.Type" title="binaryninja.types.Type"><em>Type</em></a>) – type to be defined at the given virtual address</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">t</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">t</span>
|
|
<span class="go">(<type: int32_t>, 'foo')</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_data_var</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">,</span> <span class="n">t</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.define_imported_function">
|
|
<code class="descname">define_imported_function</code><span class="sig-paren">(</span><em>import_addr_sym</em>, <em>func</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.define_imported_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.define_imported_function" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">define_imported_function</span></code> defines an imported Function <code class="docutils literal"><span class="pre">func</span></code> with a ImportedFunctionSymbol type.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>import_addr_sym</strong> (<a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol"><em>Symbol</em></a>) – A Symbol object with type ImportedFunctionSymbol</li>
|
|
<li><strong>func</strong> (<a class="reference internal" href="binaryninja.function.Function.html#binaryninja.function.Function" title="binaryninja.function.Function"><em>Function</em></a>) – A Function object to define as an imported function</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.define_type">
|
|
<code class="descname">define_type</code><span class="sig-paren">(</span><em>type_id</em>, <em>default_name</em>, <em>type_obj</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.define_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.define_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">define_type</span></code> registers a <code class="xref py py-class docutils literal"><span class="pre">Type</span></code> <code class="docutils literal"><span class="pre">type_obj</span></code> of the given <code class="docutils literal"><span class="pre">name</span></code> in the global list of types for
|
|
the current <a class="reference internal" href="binaryninja.binaryview.BinaryView.html#binaryninja.binaryview.BinaryView" title="binaryninja.binaryview.BinaryView"><code class="xref py py-class docutils literal"><span class="pre">BinaryView</span></code></a>. This method should only be used for automatically generated types.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>type_id</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Unique identifier for the automatically generated type</li>
|
|
<li><strong>default_name</strong> (<a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName"><em>QualifiedName</em></a>) – Name of the type to be registered</li>
|
|
<li><strong>type_obj</strong> (<a class="reference internal" href="binaryninja.types.Type.html#binaryninja.types.Type" title="binaryninja.types.Type"><em>Type</em></a>) – Type object to be registered</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Registered name of the type. May not be the same as the requested name if the user has renamed types.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName">QualifiedName</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">registered_name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">define_type</span><span class="p">(</span><span class="n">Type</span><span class="o">.</span><span class="n">generate_auto_type_id</span><span class="p">(</span><span class="s2">"source"</span><span class="p">,</span> <span class="n">name</span><span class="p">),</span> <span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="n">registered_name</span><span class="p">)</span>
|
|
<span class="go"><type: int32_t></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.define_user_data_var">
|
|
<code class="descname">define_user_data_var</code><span class="sig-paren">(</span><em>addr</em>, <em>var_type</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.define_user_data_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.define_user_data_var" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">define_user_data_var</span></code> defines a user data variable <code class="docutils literal"><span class="pre">var_type</span></code> at the virtual address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to define the given data variable</li>
|
|
<li><strong>var_type</strong> (<em>binaryninja.Type</em>) – type to be defined at the given virtual address</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">t</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">t</span>
|
|
<span class="go">(<type: int32_t>, 'foo')</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_user_data_var</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">,</span> <span class="n">t</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.define_user_symbol">
|
|
<code class="descname">define_user_symbol</code><span class="sig-paren">(</span><em>sym</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.define_user_symbol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.define_user_symbol" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">define_user_symbol</span></code> adds a symbol to the internal list of user added Symbol objects.</p>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">If multiple symbols for the same address are defined, only the most recent symbol will ever be used.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>sym</strong> (<a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol"><em>Symbol</em></a>) – the symbol to define</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.define_user_type">
|
|
<code class="descname">define_user_type</code><span class="sig-paren">(</span><em>name</em>, <em>type_obj</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.define_user_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.define_user_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">define_user_type</span></code> registers a <code class="xref py py-class docutils literal"><span class="pre">Type</span></code> <code class="docutils literal"><span class="pre">type_obj</span></code> of the given <code class="docutils literal"><span class="pre">name</span></code> in the global list of user
|
|
types for the current <a class="reference internal" href="binaryninja.binaryview.BinaryView.html#binaryninja.binaryview.BinaryView" title="binaryninja.binaryview.BinaryView"><code class="xref py py-class docutils literal"><span class="pre">BinaryView</span></code></a>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>name</strong> (<a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName"><em>QualifiedName</em></a>) – Name of the user type to be registered</li>
|
|
<li><strong>type_obj</strong> (<a class="reference internal" href="binaryninja.types.Type.html#binaryninja.types.Type" title="binaryninja.types.Type"><em>Type</em></a>) – Type object to be registered</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_user_type</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
|
|
<span class="go"><type: int32_t></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.end">
|
|
<code class="descname">end</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.end" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>End offset of the binary (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.endianness">
|
|
<code class="descname">endianness</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.endianness" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Endianness of the binary (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.entry_function">
|
|
<code class="descname">entry_function</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.entry_function" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Entry function (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.entry_point">
|
|
<code class="descname">entry_point</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.entry_point" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Entry point of the binary (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.executable">
|
|
<code class="descname">executable</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.executable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Whether the binary is an executable (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.find_next_data">
|
|
<code class="descname">find_next_data</code><span class="sig-paren">(</span><em>start</em>, <em>data</em>, <em>flags=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.find_next_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.find_next_data" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">find_next_data</span></code> searchs for the bytes in data starting at the virtual address <code class="docutils literal"><span class="pre">start</span></code> either, case-sensitive,
|
|
or case-insensitive.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
|
<li><strong>start</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to start searching from.</li>
|
|
<li><strong>data</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – bytes to search for</li>
|
|
<li><strong>flags</strong> (<em>FindFlags</em>) – <p>case-sensitivity flag, one of the following:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="48%" />
|
|
<col width="52%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head">FindFlags</th>
|
|
<th class="head">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td>NoFindFlags</td>
|
|
<td>Case-sensitive find</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>FindCaseInsensitive</td>
|
|
<td>Case-insensitive find</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.functions">
|
|
<code class="descname">functions</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.functions" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>List of functions (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_address_for_data_offset">
|
|
<code class="descname">get_address_for_data_offset</code><span class="sig-paren">(</span><em>offset</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_address_for_data_offset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_address_for_data_offset" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_address_input">
|
|
<code class="descname">get_address_input</code><span class="sig-paren">(</span><em>prompt</em>, <em>title</em>, <em>current_address=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_address_input"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_address_input" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_basic_blocks_at">
|
|
<code class="descname">get_basic_blocks_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_basic_blocks_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_basic_blocks_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_basic_blocks_at</span></code> get a list of <code class="xref py py-class docutils literal"><span class="pre">BasicBlock</span></code> objects which exist at the provided virtual address.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of BasicBlock desired</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a list of <code class="xref py py-class docutils literal"><span class="pre">BasicBlock</span></code> objects</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">list(BasicBlock)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_basic_blocks_starting_at">
|
|
<code class="descname">get_basic_blocks_starting_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_basic_blocks_starting_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_basic_blocks_starting_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_basic_blocks_starting_at</span></code> get a list of <code class="xref py py-class docutils literal"><span class="pre">BasicBlock</span></code> objects which start at the provided virtual address.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of BasicBlock desired</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a list of <code class="xref py py-class docutils literal"><span class="pre">BasicBlock</span></code> objects</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">list(BasicBlock)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_code_refs">
|
|
<code class="descname">get_code_refs</code><span class="sig-paren">(</span><em>addr</em>, <em>length=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_code_refs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_code_refs" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_code_refs</span></code> returns a list of ReferenceSource objects (xrefs or cross-references) that point to the provided virtual address.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to query for references</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">List of References for the given virtual address</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">list(ReferenceSource)</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_code_refs</span><span class="p">(</span><span class="n">here</span><span class="p">)</span>
|
|
<span class="go">[<ref: x86@0x4165ff>]</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_data_var_at">
|
|
<code class="descname">get_data_var_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_data_var_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_data_var_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_data_var_at</span></code> returns the data type at a given virtual address.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to get the data type from</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">returns the DataVariable at the given virtual address, None on error.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.binaryview.DataVariable.html#binaryninja.binaryview.DataVariable" title="binaryninja.binaryview.DataVariable">DataVariable</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">t</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_data_var</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">,</span> <span class="n">t</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_data_var_at</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go"><var 0x100001174: int32_t></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_disassembly">
|
|
<code class="descname">get_disassembly</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_disassembly"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_disassembly" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_disassembly</span></code> simple helper function for printing disassembly of a given address</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of instruction</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – optional Architecture, <code class="docutils literal"><span class="pre">self.arch</span></code> is used if this parameter is None</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a str representation of the instruction at virtual address <code class="docutils literal"><span class="pre">addr</span></code> or None</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">str or None</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go">'push ebp'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_function_at">
|
|
<code class="descname">get_function_at</code><span class="sig-paren">(</span><em>addr</em>, <em>plat=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_function_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_function_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_function_at</span></code> gets a Function object for the function that starts at virtual address <code class="docutils literal"><span class="pre">addr</span></code>:</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – starting virtual address of the desired function</li>
|
|
<li><strong>plat</strong> (<a class="reference internal" href="binaryninja.platform.Platform.html#binaryninja.platform.Platform" title="binaryninja.platform.Platform"><em>Platform</em></a>) – plat of the desired function</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">returns a Function object or None for the function at the virtual address provided</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.function.Function.html#binaryninja.function.Function" title="binaryninja.function.Function">Function</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_function_at</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go"><func: x86_64@0x100001174></span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_functions_at">
|
|
<code class="descname">get_functions_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_functions_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_functions_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_functions_at</span></code> get a list of binaryninja.Function objects (one for each valid plat) at the given
|
|
virtual address. Binary Ninja does not limit the number of platforms in a given file thus there may be multiple
|
|
functions defined from different architectures at the same location. This API allows you to query all of valid
|
|
platforms.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the desired Function object list.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a list of binaryninja.Function objects defined at the provided virtual address</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">list(Function)</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_functions_containing">
|
|
<code class="descname">get_functions_containing</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_functions_containing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_functions_containing" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_functions_containing</span></code> returns a list of functions which contain the given address or None on failure.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to query.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">list of Function objects or None</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_instruction_length">
|
|
<code class="descname">get_instruction_length</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_instruction_length"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_instruction_length" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_instruction_length</span></code> returns the number of bytes in the instruction of Architecture <code class="docutils literal"><span class="pre">arch</span></code> at the virtual
|
|
address <code class="docutils literal"><span class="pre">addr</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the instruction query</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Number of bytes in instruction</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_instruction_length</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">2L</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_linear_disassembly">
|
|
<code class="descname">get_linear_disassembly</code><span class="sig-paren">(</span><em>settings</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_linear_disassembly"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_linear_disassembly" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_linear_disassembly</span></code> gets an iterator for all lines in the linear disassembly of the view for the given
|
|
disassembly settings.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">linear_disassembly doesn’t just return disassembly it will return a single line from the linear view, and thus will contain both data views, and disassembly.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>settings</strong> (<a class="reference internal" href="binaryninja.function.DisassemblySettings.html#binaryninja.function.DisassemblySettings" title="binaryninja.function.DisassemblySettings"><em>DisassemblySettings</em></a>) – instance specifying the desired output formatting.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">An iterator containing formatted dissassembly lines.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">LinearDisassemblyIterator</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">settings</span> <span class="o">=</span> <span class="n">DisassemblySettings</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">lines</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">get_linear_disassembly</span><span class="p">(</span><span class="n">settings</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">:</span>
|
|
<span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
|
|
<span class="gp">... </span> <span class="k">break</span>
|
|
<span class="gp">...</span>
|
|
<span class="go">cf fa ed fe 07 00 00 01 ........</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_linear_disassembly_position_at">
|
|
<code class="descname">get_linear_disassembly_position_at</code><span class="sig-paren">(</span><em>addr</em>, <em>settings</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_linear_disassembly_position_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_linear_disassembly_position_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_linear_disassembly_position_at</span></code> instantiates a <code class="xref py py-class docutils literal"><span class="pre">LinearDisassemblyPosition</span></code> object for use in
|
|
<a class="reference internal" href="#binaryninja.binaryview.BinaryView.get_previous_linear_disassembly_lines" title="binaryninja.binaryview.BinaryView.get_previous_linear_disassembly_lines"><code class="xref py py-meth docutils literal"><span class="pre">get_previous_linear_disassembly_lines()</span></code></a> or <a class="reference internal" href="#binaryninja.binaryview.BinaryView.get_next_linear_disassembly_lines" title="binaryninja.binaryview.BinaryView.get_next_linear_disassembly_lines"><code class="xref py py-meth docutils literal"><span class="pre">get_next_linear_disassembly_lines()</span></code></a>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of linear disassembly position</li>
|
|
<li><strong>settings</strong> (<a class="reference internal" href="binaryninja.function.DisassemblySettings.html#binaryninja.function.DisassemblySettings" title="binaryninja.function.DisassemblySettings"><em>DisassemblySettings</em></a>) – an instantiated <code class="xref py py-class docutils literal"><span class="pre">DisassemblySettings</span></code> object</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">An instantied <code class="xref py py-class docutils literal"><span class="pre">LinearDisassemblyPosition</span></code> object for the provided virtual address</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.lineardisassembly.LinearDisassemblyPosition.html#binaryninja.lineardisassembly.LinearDisassemblyPosition" title="binaryninja.lineardisassembly.LinearDisassemblyPosition">LinearDisassemblyPosition</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">settings</span> <span class="o">=</span> <span class="n">DisassemblySettings</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">pos</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">get_linear_disassembly_position_at</span><span class="p">(</span><span class="mh">0x1000149f</span><span class="p">,</span> <span class="n">settings</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">lines</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">get_previous_linear_disassembly_lines</span><span class="p">(</span><span class="n">pos</span><span class="p">,</span> <span class="n">settings</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">lines</span>
|
|
<span class="go">[<0x1000149a: pop esi>, <0x1000149b: pop ebp>,</span>
|
|
<span class="go"><0x1000149c: retn 0xc>, <0x1000149f: >]</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_modification">
|
|
<code class="descname">get_modification</code><span class="sig-paren">(</span><em>addr</em>, <em>length=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_modification"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_modification" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_modification</span></code> returns the modified bytes of up to <code class="docutils literal"><span class="pre">length</span></code> bytes from virtual address <code class="docutils literal"><span class="pre">addr</span></code>, or if
|
|
<code class="docutils literal"><span class="pre">length</span></code> is None returns the ModificationStatus.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to get modification from</li>
|
|
<li><strong>length</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – optional length of modification</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Either ModificationStatus of the byte at <code class="docutils literal"><span class="pre">addr</span></code>, or string of modified bytes at <code class="docutils literal"><span class="pre">addr</span></code></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">ModificationStatus or str</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_next_basic_block_start_after">
|
|
<code class="descname">get_next_basic_block_start_after</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_next_basic_block_start_after"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_next_basic_block_start_after" title="Permalink to this definition">¶</a></dt>
|
|
<dd><dl class="docutils">
|
|
<dt><code class="docutils literal"><span class="pre">get_next_basic_block_start_after</span></code> returns the virtual address of the BasicBlock that occurs after the virtual</dt>
|
|
<dd>address <code class="docutils literal"><span class="pre">addr</span></code></dd>
|
|
</dl>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the next BasicBlock</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_basic_block_start_after</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">))</span>
|
|
<span class="go">'0x100014a8L'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_basic_block_start_after</span><span class="p">(</span><span class="mh">0x100014a8</span><span class="p">))</span>
|
|
<span class="go">'0x100014adL'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_next_data_after">
|
|
<code class="descname">get_next_data_after</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_next_data_after"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_next_data_after" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_next_data_after</span></code> retrieves the virtual address of the next non-code byte.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the next data byte which is data, not code</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_data_after</span><span class="p">(</span><span class="mh">0x10000000</span><span class="p">))</span>
|
|
<span class="go">'0x10000001L'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_next_data_var_after">
|
|
<code class="descname">get_next_data_var_after</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_next_data_var_after"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_next_data_var_after" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_next_data_var_after</span></code> retrieves the next virtual address of the next <a class="reference internal" href="binaryninja.binaryview.DataVariable.html#binaryninja.binaryview.DataVariable" title="binaryninja.binaryview.DataVariable"><code class="xref py py-class docutils literal"><span class="pre">DataVariable</span></code></a></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the next <a class="reference internal" href="binaryninja.binaryview.DataVariable.html#binaryninja.binaryview.DataVariable" title="binaryninja.binaryview.DataVariable"><code class="xref py py-class docutils literal"><span class="pre">DataVariable</span></code></a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_data_var_after</span><span class="p">(</span><span class="mh">0x10000000</span><span class="p">))</span>
|
|
<span class="go">'0x1000003cL'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_data_var_at</span><span class="p">(</span><span class="mh">0x1000003c</span><span class="p">)</span>
|
|
<span class="go"><var 0x1000003c: int32_t></span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_next_disassembly">
|
|
<code class="descname">get_next_disassembly</code><span class="sig-paren">(</span><em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_next_disassembly"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_next_disassembly" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_next_disassembly</span></code> simple helper function for printing disassembly of the next instruction.
|
|
The internal state of the instruction to be printed is stored in the <code class="docutils literal"><span class="pre">next_address</span></code> attribute</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – optional Architecture, <code class="docutils literal"><span class="pre">self.arch</span></code> is used if this parameter is None</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a str representation of the instruction at virtual address <code class="docutils literal"><span class="pre">self.next_address</span></code></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">str or None</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_disassembly</span><span class="p">()</span>
|
|
<span class="go">'push ebp'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_disassembly</span><span class="p">()</span>
|
|
<span class="go">'mov ebp, esp'</span>
|
|
<span class="gp">>>> </span><span class="c1">#Now reset the starting point back to the entry point</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">next_address</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_disassembly</span><span class="p">()</span>
|
|
<span class="go">'push ebp'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_next_function_start_after">
|
|
<code class="descname">get_next_function_start_after</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_next_function_start_after"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_next_function_start_after" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_next_function_start_after</span></code> returns the virtual address of the Function that occurs after the virtual address
|
|
<code class="docutils literal"><span class="pre">addr</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the next Function</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_function_start_after</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go">268441061L</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_function_start_after</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">))</span>
|
|
<span class="go">'0x100015e5L'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_function_start_after</span><span class="p">(</span><span class="mh">0x100015e5</span><span class="p">))</span>
|
|
<span class="go">'0x10001629L'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_function_start_after</span><span class="p">(</span><span class="mh">0x10001629</span><span class="p">))</span>
|
|
<span class="go">'0x1000165eL'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_next_linear_disassembly_lines">
|
|
<code class="descname">get_next_linear_disassembly_lines</code><span class="sig-paren">(</span><em>pos</em>, <em>settings</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_next_linear_disassembly_lines"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_next_linear_disassembly_lines" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_next_linear_disassembly_lines</span></code> retrieves a list of <code class="xref py py-class docutils literal"><span class="pre">LinearDisassemblyLine</span></code> objects for the
|
|
next disassembly lines, and updates the LinearDisassemblyPosition passed in. This function can be called
|
|
repeatedly to get more lines of linear disassembly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>pos</strong> (<a class="reference internal" href="binaryninja.lineardisassembly.LinearDisassemblyPosition.html#binaryninja.lineardisassembly.LinearDisassemblyPosition" title="binaryninja.lineardisassembly.LinearDisassemblyPosition"><em>LinearDisassemblyPosition</em></a>) – Position to start retrieving linear disassembly lines from</li>
|
|
<li><strong>settings</strong> (<a class="reference internal" href="binaryninja.function.DisassemblySettings.html#binaryninja.function.DisassemblySettings" title="binaryninja.function.DisassemblySettings"><em>DisassemblySettings</em></a>) – DisassemblySettings display settings for the linear disassembly</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a list of <code class="xref py py-class docutils literal"><span class="pre">LinearDisassemblyLine</span></code> objects for the next lines.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">settings</span> <span class="o">=</span> <span class="n">DisassemblySettings</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">pos</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">get_linear_disassembly_position_at</span><span class="p">(</span><span class="mh">0x10001483</span><span class="p">,</span> <span class="n">settings</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_linear_disassembly_lines</span><span class="p">(</span><span class="n">pos</span><span class="p">,</span> <span class="n">settings</span><span class="p">)</span>
|
|
<span class="go">[<0x10001483: xor eax, eax {0x0}>, <0x10001485: inc eax {0x1}>, ... , <0x10001488: >]</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_linear_disassembly_lines</span><span class="p">(</span><span class="n">pos</span><span class="p">,</span> <span class="n">settings</span><span class="p">)</span>
|
|
<span class="go">[<0x10001488: push dword [ebp+0x10 {arg_c}]>, ... , <0x1000149a: >]</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_previous_basic_block_end_before">
|
|
<code class="descname">get_previous_basic_block_end_before</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_previous_basic_block_end_before"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_previous_basic_block_end_before" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_previous_basic_block_end_before</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the previous BasicBlock end</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go">'0x1000149fL'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_basic_block_start_after</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">))</span>
|
|
<span class="go">'0x100014a8L'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_previous_basic_block_end_before</span><span class="p">(</span><span class="mh">0x100014a8</span><span class="p">))</span>
|
|
<span class="go">'0x100014a8L'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_previous_basic_block_start_before">
|
|
<code class="descname">get_previous_basic_block_start_before</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_previous_basic_block_start_before"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_previous_basic_block_start_before" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_previous_basic_block_start_before</span></code> returns the virtual address of the BasicBlock that occurs prior to the
|
|
provided virtual address</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the previous BasicBlock</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go">'0x1000149fL'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_basic_block_start_after</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">))</span>
|
|
<span class="go">'0x100014a8L'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_previous_basic_block_start_before</span><span class="p">(</span><span class="mh">0x100014a8</span><span class="p">))</span>
|
|
<span class="go">'0x1000149fL'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_previous_data_before">
|
|
<code class="descname">get_previous_data_before</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_previous_data_before"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_previous_data_before" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_previous_data_before</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the previous data (non-code) byte</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_previous_data_before</span><span class="p">(</span><span class="mh">0x1000001</span><span class="p">))</span>
|
|
<span class="go">'0x1000000L'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_previous_data_var_before">
|
|
<code class="descname">get_previous_data_var_before</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_previous_data_var_before"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_previous_data_var_before" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_previous_data_var_before</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the previous <a class="reference internal" href="binaryninja.binaryview.DataVariable.html#binaryninja.binaryview.DataVariable" title="binaryninja.binaryview.DataVariable"><code class="xref py py-class docutils literal"><span class="pre">DataVariable</span></code></a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_previous_data_var_before</span><span class="p">(</span><span class="mh">0x1000003c</span><span class="p">))</span>
|
|
<span class="go">'0x10000000L'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_data_var_at</span><span class="p">(</span><span class="mh">0x10000000</span><span class="p">)</span>
|
|
<span class="go"><var 0x10000000: int16_t></span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_previous_function_start_before">
|
|
<code class="descname">get_previous_function_start_before</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_previous_function_start_before"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_previous_function_start_before" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_previous_function_start_before</span></code> returns the virtual address of the Function that occurs prior to the
|
|
virtual address provided</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address to start looking from.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">the virtual address of the previous Function</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go">'0x1000149fL'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_next_function_start_after</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">))</span>
|
|
<span class="go">'0x100015e5L'</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">get_previous_function_start_before</span><span class="p">(</span><span class="mh">0x100015e5</span><span class="p">))</span>
|
|
<span class="go">'0x1000149fL'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_previous_linear_disassembly_lines">
|
|
<code class="descname">get_previous_linear_disassembly_lines</code><span class="sig-paren">(</span><em>pos</em>, <em>settings</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_previous_linear_disassembly_lines"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_previous_linear_disassembly_lines" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_previous_linear_disassembly_lines</span></code> retrieves a list of <code class="xref py py-class docutils literal"><span class="pre">LinearDisassemblyLine</span></code> objects for the
|
|
previous disassembly lines, and updates the LinearDisassemblyPosition passed in. This function can be called
|
|
repeatedly to get more lines of linear disassembly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>pos</strong> (<a class="reference internal" href="binaryninja.lineardisassembly.LinearDisassemblyPosition.html#binaryninja.lineardisassembly.LinearDisassemblyPosition" title="binaryninja.lineardisassembly.LinearDisassemblyPosition"><em>LinearDisassemblyPosition</em></a>) – Position to start retrieving linear disassembly lines from</li>
|
|
<li><strong>settings</strong> (<a class="reference internal" href="binaryninja.function.DisassemblySettings.html#binaryninja.function.DisassemblySettings" title="binaryninja.function.DisassemblySettings"><em>DisassemblySettings</em></a>) – DisassemblySettings display settings for the linear disassembly</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a list of <code class="xref py py-class docutils literal"><span class="pre">LinearDisassemblyLine</span></code> objects for the previous lines.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">settings</span> <span class="o">=</span> <span class="n">DisassemblySettings</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">pos</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">get_linear_disassembly_position_at</span><span class="p">(</span><span class="mh">0x1000149a</span><span class="p">,</span> <span class="n">settings</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_previous_linear_disassembly_lines</span><span class="p">(</span><span class="n">pos</span><span class="p">,</span> <span class="n">settings</span><span class="p">)</span>
|
|
<span class="go">[<0x10001488: push dword [ebp+0x10 {arg_c}]>, ... , <0x1000149a: >]</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_previous_linear_disassembly_lines</span><span class="p">(</span><span class="n">pos</span><span class="p">,</span> <span class="n">settings</span><span class="p">)</span>
|
|
<span class="go">[<0x10001483: xor eax, eax {0x0}>, ... , <0x10001488: >]</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_recent_basic_block_at">
|
|
<code class="descname">get_recent_basic_block_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_recent_basic_block_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_recent_basic_block_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_recent_function_at">
|
|
<code class="descname">get_recent_function_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_recent_function_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_recent_function_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_section_by_name">
|
|
<code class="descname">get_section_by_name</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_section_by_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_section_by_name" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_sections_at">
|
|
<code class="descname">get_sections_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_sections_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_sections_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_segment_at">
|
|
<code class="descname">get_segment_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_segment_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_segment_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_strings">
|
|
<code class="descname">get_strings</code><span class="sig-paren">(</span><em>start=None</em>, <em>length=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_strings"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_strings" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_strings</span></code> returns a list of strings defined in the binary in the optional virtual address range:
|
|
<code class="docutils literal"><span class="pre">start-(start+length)</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>start</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – optional virtual address to start the string list from, defaults to start of the binary</li>
|
|
<li><strong>length</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – optional length range to return strings from, defaults to length of the binary</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">a list of all strings or a list of strings defined between <code class="docutils literal"><span class="pre">start</span></code> and <code class="docutils literal"><span class="pre">start+length</span></code></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">list(str())</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_strings</span><span class="p">(</span><span class="mh">0x1000004d</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
|
<span class="go">[<AsciiString: 0x1000004d, len 0x2c>]</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_symbol_at">
|
|
<code class="descname">get_symbol_at</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_symbol_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_symbol_at" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_symbol_at</span></code> returns the Symbol at the provided virtual address.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to query for symbol</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Symbol for the given virtual address</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol">Symbol</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_symbol_at</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go"><FunctionSymbol: "_start" @ 0x100001174></span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_symbol_by_raw_name">
|
|
<code class="descname">get_symbol_by_raw_name</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_symbol_by_raw_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_symbol_by_raw_name" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_symbol_by_raw_name</span></code> retrieves a Symbol object for the given a raw (mangled) name.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>name</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – raw (mangled) name of Symbol to be retrieved</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Symbol object corresponding to the provided raw name</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol">Symbol</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_symbol_by_raw_name</span><span class="p">(</span><span class="s1">'?testf@Foobar@@SA?AW4foo@1@W421@@Z'</span><span class="p">)</span>
|
|
<span class="go"><FunctionSymbol: "public: static enum Foobar::foo __cdecl Foobar::testf(enum Foobar::foo)" @ 0x10001100></span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_symbols">
|
|
<code class="descname">get_symbols</code><span class="sig-paren">(</span><em>start=None</em>, <em>length=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_symbols"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_symbols" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_symbols</span></code> retrieves the list of all Symbol objects in the optionally provided range.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>start</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – optional start virtual address</li>
|
|
<li><strong>length</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – optional length</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">list of all Symbol objects, or those Symbol objects in the range of <code class="docutils literal"><span class="pre">start</span></code>-<code class="docutils literal"><span class="pre">start+length</span></code></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">list(Symbol)</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_symbols</span><span class="p">(</span><span class="mh">0x1000200c</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
|
<span class="go">[<ImportAddressSymbol: "KERNEL32!IsProcessorFeaturePresent@IAT" @ 0x1000200c>]</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_symbols_by_name">
|
|
<code class="descname">get_symbols_by_name</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_symbols_by_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_symbols_by_name" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_symbols_by_name</span></code> retrieves a list of Symbol objects for the given symbol name.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>name</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – name of Symbol object to be retrieved</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Symbol object corresponding to the provided name</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol">Symbol</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_symbols_by_name</span><span class="p">(</span><span class="s1">'?testf@Foobar@@SA?AW4foo@1@W421@@Z'</span><span class="p">)</span>
|
|
<span class="go">[<FunctionSymbol: "public: static enum Foobar::foo __cdecl Foobar::testf(enum Foobar::foo)" @ 0x10001100>]</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_symbols_of_type">
|
|
<code class="descname">get_symbols_of_type</code><span class="sig-paren">(</span><em>sym_type</em>, <em>start=None</em>, <em>length=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_symbols_of_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_symbols_of_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd><dl class="docutils">
|
|
<dt><code class="docutils literal"><span class="pre">get_symbols_of_type</span></code> retrieves a list of all Symbol objects of the provided symbol type in the optionally</dt>
|
|
<dd>provided range.</dd>
|
|
</dl>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>sym_type</strong> (<a class="reference internal" href="binaryninja.enums.SymbolType.html#binaryninja.enums.SymbolType" title="binaryninja.enums.SymbolType"><em>SymbolType</em></a>) – A Symbol type: <code class="xref py py-class docutils literal"><span class="pre">Symbol</span></code>.</li>
|
|
<li><strong>start</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – optional start virtual address</li>
|
|
<li><strong>length</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – optional length</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">list of all Symbol objects of type sym_type, or those Symbol objects in the range of <code class="docutils literal"><span class="pre">start</span></code>-<code class="docutils literal"><span class="pre">start+length</span></code></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">list(Symbol)</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_symbols_of_type</span><span class="p">(</span><span class="n">SymbolType</span><span class="o">.</span><span class="n">ImportAddressSymbol</span><span class="p">,</span> <span class="mh">0x10002028</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
|
<span class="go">[<ImportAddressSymbol: "KERNEL32!GetCurrentThreadId@IAT" @ 0x10002028>]</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_type_by_id">
|
|
<code class="descname">get_type_by_id</code><span class="sig-paren">(</span><em>id</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_type_by_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_type_by_id" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_type_by_id</span></code> returns the defined type whose unique identifier corresponds with the provided <code class="docutils literal"><span class="pre">id</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>id</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Unique identifier to lookup</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A <code class="xref py py-class docutils literal"><span class="pre">Type</span></code> or None if the type does not exist</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">Type or None</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">type_id</span> <span class="o">=</span> <span class="n">Type</span><span class="o">.</span><span class="n">generate_auto_type_id</span><span class="p">(</span><span class="s2">"source"</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_type</span><span class="p">(</span><span class="n">type_id</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_id</span><span class="p">(</span><span class="n">type_id</span><span class="p">)</span>
|
|
<span class="go"><type: int32_t></span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_type_by_name">
|
|
<code class="descname">get_type_by_name</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_type_by_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_type_by_name" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_type_by_name</span></code> returns the defined type whose name corresponds with the provided <code class="docutils literal"><span class="pre">name</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>name</strong> (<a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName"><em>QualifiedName</em></a>) – Type name to lookup</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A <code class="xref py py-class docutils literal"><span class="pre">Type</span></code> or None if the type does not exist</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">Type or None</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_user_type</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
|
|
<span class="go"><type: int32_t></span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_type_id">
|
|
<code class="descname">get_type_id</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_type_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_type_id" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_type_id</span></code> returns the unique indentifier of the defined type whose name corresponds with the
|
|
provided <code class="docutils literal"><span class="pre">name</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>name</strong> (<a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName"><em>QualifiedName</em></a>) – Type name to lookup</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The unique identifier of the type</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)">str</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">type_id</span> <span class="o">=</span> <span class="n">Type</span><span class="o">.</span><span class="n">generate_auto_type_id</span><span class="p">(</span><span class="s2">"source"</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">registered_name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">define_type</span><span class="p">(</span><span class="n">type_id</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_id</span><span class="p">(</span><span class="n">registered_name</span><span class="p">)</span> <span class="o">==</span> <span class="n">type_id</span>
|
|
<span class="go">True</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_type_name_by_id">
|
|
<code class="descname">get_type_name_by_id</code><span class="sig-paren">(</span><em>id</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_type_name_by_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_type_name_by_id" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_type_name_by_id</span></code> returns the defined type name whose unique identifier corresponds with the provided <code class="docutils literal"><span class="pre">id</span></code></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>id</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Unique identifier to lookup</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A QualifiedName or None if the type does not exist</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">QualifiedName or None</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">type_id</span> <span class="o">=</span> <span class="n">Type</span><span class="o">.</span><span class="n">generate_auto_type_id</span><span class="p">(</span><span class="s2">"source"</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_type</span><span class="p">(</span><span class="n">type_id</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="go">'foo'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_name_by_id</span><span class="p">(</span><span class="n">type_id</span><span class="p">)</span>
|
|
<span class="go">'foo'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_unique_section_names">
|
|
<code class="descname">get_unique_section_names</code><span class="sig-paren">(</span><em>name_list</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_unique_section_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_unique_section_names" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.get_view_of_type">
|
|
<code class="descname">get_view_of_type</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.get_view_of_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.get_view_of_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_view_of_type</span></code> returns the BinaryView associated with the provided name if it exists.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Name of the view to be retrieved</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">BinaryView object assocated with the provided name or None on failure</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">BinaryView or None</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.global_pointer_value">
|
|
<code class="descname">global_pointer_value</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.global_pointer_value" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Discovered value of the global pointer register, if the binary uses one (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.has_database">
|
|
<code class="descname">has_database</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.has_database" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>boolean has a database been written to disk (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.has_functions">
|
|
<code class="descname">has_functions</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.has_functions" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Boolean whether the binary has functions (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.init">
|
|
<code class="descname">init</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.init"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.init" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.insert">
|
|
<code class="descname">insert</code><span class="sig-paren">(</span><em>addr</em>, <em>data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.insert"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.insert" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">insert</span></code> inserts the bytes in <code class="docutils literal"><span class="pre">data</span></code> to the virtual address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to write to.</li>
|
|
<li><strong>data</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – data to be inserted at addr.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">number of bytes inserted to virtual address <code class="docutils literal"><span class="pre">addr</span></code></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="s2">"BBBB"</span><span class="p">)</span>
|
|
<span class="go">4L</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">8</span><span class="p">)</span>
|
|
<span class="go">'BBBBAAAA'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.instructions">
|
|
<code class="descname">instructions</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.instructions" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A generator of instruction tokens and their start addresses</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.invert_branch">
|
|
<code class="descname">invert_branch</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.invert_branch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.invert_branch" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">invert_branch</span></code> convert the branch instruction of architecture <code class="docutils literal"><span class="pre">arch</span></code> at the virtual address <code class="docutils literal"><span class="pre">addr</span></code> to the
|
|
inverse branch.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This API performs a binary patch, analysis may need to be updated afterward. Additionally the binary</p>
|
|
</div>
|
|
<p>file must be saved in order to preserve the changes made.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the instruction to be modified</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True on success, False on falure.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x1000130e</span><span class="p">)</span>
|
|
<span class="go">'je 0x10001317'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">invert_branch</span><span class="p">(</span><span class="mh">0x1000130e</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="go">>>></span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x1000130e</span><span class="p">)</span>
|
|
<span class="go">'jne 0x10001317'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_always_branch_patch_available">
|
|
<code class="descname">is_always_branch_patch_available</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_always_branch_patch_available"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_always_branch_patch_available" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_always_branch_patch_available</span></code> queries the architecture plugin to determine if the
|
|
instruction at <code class="docutils literal"><span class="pre">addr</span></code> can be made to <strong>always branch</strong>. The actual logic of which is implemented in the
|
|
<code class="docutils literal"><span class="pre">perform_is_always_branch_patch_available</span></code> in the corresponding architecture.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address of the instruction to be patched</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture for the current view</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True if the instruction can be patched, False otherwise</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012ed</span><span class="p">)</span>
|
|
<span class="go">'test eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_always_branch_patch_available</span><span class="p">(</span><span class="mh">0x100012ed</span><span class="p">)</span>
|
|
<span class="go">False</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">'jg 0x100012f5'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_always_branch_patch_available</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_invert_branch_patch_available">
|
|
<code class="descname">is_invert_branch_patch_available</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_invert_branch_patch_available"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_invert_branch_patch_available" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_invert_branch_patch_available</span></code> queries the architecture plugin to determine if the instruction at <code class="docutils literal"><span class="pre">addr</span></code>
|
|
is a branch that can be inverted. The actual logic of which is implemented in the
|
|
<code class="docutils literal"><span class="pre">perform_is_invert_branch_patch_available</span></code> in the corresponding architecture.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address of the instruction to be patched</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True if the instruction can be patched, False otherwise</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012ed</span><span class="p">)</span>
|
|
<span class="go">'test eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_invert_branch_patch_available</span><span class="p">(</span><span class="mh">0x100012ed</span><span class="p">)</span>
|
|
<span class="go">False</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">'jg 0x100012f5'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_invert_branch_patch_available</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_never_branch_patch_available">
|
|
<code class="descname">is_never_branch_patch_available</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_never_branch_patch_available"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_never_branch_patch_available" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_never_branch_patch_available</span></code> queries the architecture plugin to determine if the instruction at the
|
|
instruction at <code class="docutils literal"><span class="pre">addr</span></code> can be made to <strong>never branch</strong>. The actual logic of which is implemented in the
|
|
<code class="docutils literal"><span class="pre">perform_is_never_branch_patch_available</span></code> in the corresponding architecture.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address of the instruction to be patched</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True if the instruction can be patched, False otherwise</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012ed</span><span class="p">)</span>
|
|
<span class="go">'test eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_never_branch_patch_available</span><span class="p">(</span><span class="mh">0x100012ed</span><span class="p">)</span>
|
|
<span class="go">False</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">'jg 0x100012f5'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_never_branch_patch_available</span><span class="p">(</span><span class="mh">0x100012ef</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_offset_code_semantics">
|
|
<code class="descname">is_offset_code_semantics</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_offset_code_semantics"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_offset_code_semantics" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_offset_code_semantics</span></code> checks if an virtual address <code class="docutils literal"><span class="pre">addr</span></code> is semantically valid for code.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is valid for writing, false if the virtual address is invalid or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_offset_executable">
|
|
<code class="descname">is_offset_executable</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_offset_executable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_offset_executable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_offset_executable</span></code> checks if an virtual address <code class="docutils literal"><span class="pre">addr</span></code> is valid for executing.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is valid for executing, false if the virtual address is invalid or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_offset_readable">
|
|
<code class="descname">is_offset_readable</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_offset_readable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_offset_readable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_offset_readable</span></code> checks if an virtual address <code class="docutils literal"><span class="pre">addr</span></code> is valid for reading.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is valid for reading, false if the virtual address is invalid or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_offset_writable">
|
|
<code class="descname">is_offset_writable</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_offset_writable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_offset_writable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_offset_writable</span></code> checks if an virtual address <code class="docutils literal"><span class="pre">addr</span></code> is valid for writing.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is valid for writing, false if the virtual address is invalid or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_offset_writable_semantics">
|
|
<code class="descname">is_offset_writable_semantics</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_offset_writable_semantics"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_offset_writable_semantics" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_offset_writable_semantics</span></code> checks if an virtual address <code class="docutils literal"><span class="pre">addr</span></code> is semantically writable. Some sections
|
|
may have writable permissions for linking purposes but can be treated as read-only for the purposes of
|
|
analysis.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is valid for writing, false if the virtual address is invalid or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_skip_and_return_value_patch_available">
|
|
<code class="descname">is_skip_and_return_value_patch_available</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_skip_and_return_value_patch_available"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_skip_and_return_value_patch_available" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_skip_and_return_value_patch_available</span></code> queries the architecture plugin to determine if the
|
|
instruction at <code class="docutils literal"><span class="pre">addr</span></code> is similar to an x86 “call” instruction which can be made to return a value. The actual
|
|
logic of which is implemented in the <code class="docutils literal"><span class="pre">perform_is_skip_and_return_value_patch_available</span></code> in the corresponding
|
|
architecture.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address of the instruction to be patched</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True if the instruction can be patched, False otherwise</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f6</span><span class="p">)</span>
|
|
<span class="go">'mov dword [0x10003020], eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_skip_and_return_value_patch_available</span><span class="p">(</span><span class="mh">0x100012f6</span><span class="p">)</span>
|
|
<span class="go">False</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012fb</span><span class="p">)</span>
|
|
<span class="go">'call 0x10001629'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_skip_and_return_value_patch_available</span><span class="p">(</span><span class="mh">0x100012fb</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_skip_and_return_zero_patch_available">
|
|
<code class="descname">is_skip_and_return_zero_patch_available</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_skip_and_return_zero_patch_available"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_skip_and_return_zero_patch_available" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_skip_and_return_zero_patch_available</span></code> queries the architecture plugin to determine if the
|
|
instruction at <code class="docutils literal"><span class="pre">addr</span></code> is similar to an x86 “call” instruction which can be made to return zero. The actual
|
|
logic of which is implemented in the <code class="docutils literal"><span class="pre">perform_is_skip_and_return_zero_patch_available</span></code> in the corresponding
|
|
architecture.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the virtual address of the instruction to be patched</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True if the instruction can be patched, False otherwise</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f6</span><span class="p">)</span>
|
|
<span class="go">'mov dword [0x10003020], eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_skip_and_return_zero_patch_available</span><span class="p">(</span><span class="mh">0x100012f6</span><span class="p">)</span>
|
|
<span class="go">False</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012fb</span><span class="p">)</span>
|
|
<span class="go">'call 0x10001629'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_skip_and_return_zero_patch_available</span><span class="p">(</span><span class="mh">0x100012fb</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_type_auto_defined">
|
|
<code class="descname">is_type_auto_defined</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_type_auto_defined"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_type_auto_defined" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_type_auto_defined</span></code> queries the user type list of name. If name is not in the <em>user</em> type list then the name
|
|
is considered an <em>auto</em> type.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>name</strong> (<a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName"><em>QualifiedName</em></a>) – Name of type to query</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True if the type is not a <em>user</em> type. False if the type is a <em>user</em> type.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_type_auto_defined</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_user_type</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">,</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"struct {int x,y;}"</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">is_type_auto_defined</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">)</span>
|
|
<span class="go">False</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.is_valid_offset">
|
|
<code class="descname">is_valid_offset</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.is_valid_offset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.is_valid_offset" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">is_valid_offset</span></code> checks if an virtual address <code class="docutils literal"><span class="pre">addr</span></code> is valid .</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is valid, false if the virtual address is invalid or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.linear_disassembly">
|
|
<code class="descname">linear_disassembly</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.linear_disassembly" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Iterator for all lines in the linear disassembly of the view</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.llil_basic_blocks">
|
|
<code class="descname">llil_basic_blocks</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.llil_basic_blocks" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A generator of all LowLevelILBasicBlock objects in the BinaryView</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.llil_instructions">
|
|
<code class="descname">llil_instructions</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.llil_instructions" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A generator of llil instructions</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.long_name">
|
|
<code class="descname">long_name</code><em class="property"> = None</em><a class="headerlink" href="#binaryninja.binaryview.BinaryView.long_name" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.max_function_size_for_analysis">
|
|
<code class="descname">max_function_size_for_analysis</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.max_function_size_for_analysis" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Maximum size of function (sum of basic block sizes in bytes) for auto analysis</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.mlil_basic_blocks">
|
|
<code class="descname">mlil_basic_blocks</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.mlil_basic_blocks" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A generator of all MediumLevelILBasicBlock objects in the BinaryView</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.mlil_instructions">
|
|
<code class="descname">mlil_instructions</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.mlil_instructions" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A generator of mlil instructions</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.modified">
|
|
<code class="descname">modified</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.modified" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>boolean modification state of the BinaryView (read/write)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.name">
|
|
<code class="descname">name</code><em class="property"> = None</em><a class="headerlink" href="#binaryninja.binaryview.BinaryView.name" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.navigate">
|
|
<code class="descname">navigate</code><span class="sig-paren">(</span><em>view</em>, <em>offset</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.navigate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.navigate" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.never_branch">
|
|
<code class="descname">never_branch</code><span class="sig-paren">(</span><em>addr</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.never_branch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.never_branch" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">never_branch</span></code> convert the branch instruction of architecture <code class="docutils literal"><span class="pre">arch</span></code> at the virtual address <code class="docutils literal"><span class="pre">addr</span></code> to
|
|
a fall through.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This API performs a binary patch, analysis may need to be updated afterward. Additionally the binary file must be saved in order to preserve the changes made.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the instruction to be modified</li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True on success, False on falure.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x1000130e</span><span class="p">)</span>
|
|
<span class="go">'jne 0x10001317'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">never_branch</span><span class="p">(</span><span class="mh">0x1000130e</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x1000130e</span><span class="p">)</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="classmethod">
|
|
<dt id="binaryninja.binaryview.BinaryView.new">
|
|
<em class="property">classmethod </em><code class="descname">new</code><span class="sig-paren">(</span><em>data=None</em>, <em>file_metadata=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.new"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.new" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.next_address">
|
|
<code class="descname">next_address</code><em class="property"> = 0</em><a class="headerlink" href="#binaryninja.binaryview.BinaryView.next_address" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.notify_data_inserted">
|
|
<code class="descname">notify_data_inserted</code><span class="sig-paren">(</span><em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.notify_data_inserted"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.notify_data_inserted" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.notify_data_removed">
|
|
<code class="descname">notify_data_removed</code><span class="sig-paren">(</span><em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.notify_data_removed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.notify_data_removed" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.notify_data_written">
|
|
<code class="descname">notify_data_written</code><span class="sig-paren">(</span><em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.notify_data_written"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.notify_data_written" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.offset">
|
|
<code class="descname">offset</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.offset" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="classmethod">
|
|
<dt id="binaryninja.binaryview.BinaryView.open">
|
|
<em class="property">classmethod </em><code class="descname">open</code><span class="sig-paren">(</span><em>src</em>, <em>file_metadata=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.open" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.parameters_for_analysis">
|
|
<code class="descname">parameters_for_analysis</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.parameters_for_analysis" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.parent_view">
|
|
<code class="descname">parent_view</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.parent_view" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>View that contains the raw data used by this view (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.parse_type_string">
|
|
<code class="descname">parse_type_string</code><span class="sig-paren">(</span><em>text</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.parse_type_string"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.parse_type_string" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">parse_type_string</span></code> converts <cite>C-style</cite> string into a <code class="xref py py-class docutils literal"><span class="pre">Type</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>text</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – <cite>C-style</cite> string of type to create</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A tuple of a <code class="xref py py-class docutils literal"><span class="pre">Type</span></code> and type name</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">tuple(Type, QualifiedName)</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="go">(<type: int32_t>, 'foo')</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_get_address_size">
|
|
<code class="descname">perform_get_address_size</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_get_address_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_get_address_size" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_get_default_endianness">
|
|
<code class="descname">perform_get_default_endianness</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_get_default_endianness"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_get_default_endianness" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_get_default_endianness</span></code> implements a check which returns true if the BinaryView is executable.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be implemented for custom BinaryViews that are not LittleEndian.</p>
|
|
</div>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">This method <strong>must not</strong> be called directly.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">either <code class="docutils literal"><span class="pre">Endianness.LittleEndian</span></code> or <code class="docutils literal"><span class="pre">Endianness.BigEndian</span></code></td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.enums.Endianness.html#binaryninja.enums.Endianness" title="binaryninja.enums.Endianness">Endianness</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_get_entry_point">
|
|
<code class="descname">perform_get_entry_point</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_get_entry_point"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_get_entry_point" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_get_entry_point</span></code> implements a query for the initial entry point for code execution.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>should</strong> be implmented for custom BinaryViews that are executable.</p>
|
|
</div>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">This method <strong>must not</strong> be called directly.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the virtual address of the entry point</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_get_length">
|
|
<code class="descname">perform_get_length</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_get_length"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_get_length" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_get_length</span></code> implements a query for the size of the virtual address range used by
|
|
the BinaryView.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">returns the size of the virtual address range used by the BinaryView.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_get_modification">
|
|
<code class="descname">perform_get_modification</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_get_modification"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_get_modification" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_get_modification</span></code> implements query to the whether the virtual address <code class="docutils literal"><span class="pre">addr</span></code> is modified.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">One of the following: Original = 0, Changed = 1, Inserted = 2</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.enums.ModificationStatus.html#binaryninja.enums.ModificationStatus" title="binaryninja.enums.ModificationStatus">ModificationStatus</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_get_next_valid_offset">
|
|
<code class="descname">perform_get_next_valid_offset</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_get_next_valid_offset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_get_next_valid_offset" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_get_next_valid_offset</span></code> implements a query for the next valid readable, writable, or executable virtual
|
|
memory address.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to start checking from.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">the next readable, writable, or executable virtual memory address</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_get_start">
|
|
<code class="descname">perform_get_start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_get_start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_get_start" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_get_start</span></code> implements a query for the first readable, writable, or executable virtual address in
|
|
the BinaryView.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">returns the first virtual address in the BinaryView.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_insert">
|
|
<code class="descname">perform_insert</code><span class="sig-paren">(</span><em>addr</em>, <em>data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_insert"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_insert" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_insert</span></code> implements a mapping between a virtual address and an absolute file offset, inserting
|
|
the bytes <code class="docutils literal"><span class="pre">data</span></code> to rebased address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. If not overridden, inserting is disallowed</p>
|
|
</div>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">This method <strong>must not</strong> be called directly.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address</li>
|
|
<li><strong>data</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – the data to be inserted</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">length of data inserted, should return 0 on error</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_is_executable">
|
|
<code class="descname">perform_is_executable</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_is_executable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_is_executable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_is_executable</span></code> implements a check which returns true if the BinaryView is executable.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>must</strong> be implemented for custom BinaryViews that are executable.</p>
|
|
</div>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">This method <strong>must not</strong> be called directly.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">true if the current BinaryView is executable, false if it is not executable or on error</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_is_offset_executable">
|
|
<code class="descname">perform_is_offset_executable</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_is_offset_executable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_is_offset_executable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_is_offset_executable</span></code> implements a check if a virtual address <code class="docutils literal"><span class="pre">addr</span></code> is executable.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is executable, false if the virtual address is not executable or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_is_offset_readable">
|
|
<code class="descname">perform_is_offset_readable</code><span class="sig-paren">(</span><em>offset</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_is_offset_readable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_is_offset_readable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_is_offset_readable</span></code> implements a check if an virtual address is readable.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>offset</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is readable, false if the virtual address is not readable or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_is_offset_writable">
|
|
<code class="descname">perform_is_offset_writable</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_is_offset_writable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_is_offset_writable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_is_offset_writable</span></code> implements a check if a virtual address <code class="docutils literal"><span class="pre">addr</span></code> is writable.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is writable, false if the virtual address is not writable or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_is_relocatable">
|
|
<code class="descname">perform_is_relocatable</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_is_relocatable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_is_relocatable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_is_relocatable</span></code> implements a check which returns true if the BinaryView is relocatable. Defaults to
|
|
True.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be implemented for custom BinaryViews that are relocatable.</p>
|
|
</div>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">This method <strong>must not</strong> be called directly.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if the BinaryView is relocatable, False otherwise</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">boolean</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_is_valid_offset">
|
|
<code class="descname">perform_is_valid_offset</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_is_valid_offset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_is_valid_offset" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_is_valid_offset</span></code> implements a check if an virtual address <code class="docutils literal"><span class="pre">addr</span></code> is valid.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to be checked</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">true if the virtual address is valid, false if the virtual address is invalid or error</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_read">
|
|
<code class="descname">perform_read</code><span class="sig-paren">(</span><em>addr</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_read" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_read</span></code> implements a mapping between a virtual address and an absolute file offset, reading
|
|
<code class="docutils literal"><span class="pre">length</span></code> bytes from the rebased address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address to attempt to read from</li>
|
|
<li><strong>length</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – the number of bytes to be read</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">length bytes read from addr, should return empty string on error</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)">str</a></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_remove">
|
|
<code class="descname">perform_remove</code><span class="sig-paren">(</span><em>addr</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_remove" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_remove</span></code> implements a mapping between a virtual address and an absolute file offset, removing
|
|
<code class="docutils literal"><span class="pre">length</span></code> bytes from the rebased address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. If not overridden, removing data is disallowed</p>
|
|
</div>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">This method <strong>must not</strong> be called directly.</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address</li>
|
|
<li><strong>data</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – the data to be removed</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">length of data removed, should return 0 on error</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_save">
|
|
<code class="descname">perform_save</code><span class="sig-paren">(</span><em>accessor</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_save" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.perform_write">
|
|
<code class="descname">perform_write</code><span class="sig-paren">(</span><em>addr</em>, <em>data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.perform_write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.perform_write" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">perform_write</span></code> implements a mapping between a virtual address and an absolute file offset, writing
|
|
the bytes <code class="docutils literal"><span class="pre">data</span></code> to rebased address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This method <strong>may</strong> be overridden by custom BinaryViews. Use <code class="docutils literal"><span class="pre">add_auto_segment</span></code> to provide</p>
|
|
</div>
|
|
<p>data without overriding this method.
|
|
.. warning:: This method <strong>must not</strong> be called directly.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – a virtual address</li>
|
|
<li><strong>data</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – the data to be written</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">length of data written, should return 0 on error</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.platform">
|
|
<code class="descname">platform</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.platform" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>The platform associated with the current BinaryView (read/write)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.query_metadata">
|
|
<code class="descname">query_metadata</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.query_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.query_metadata" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><cite>query_metadata</cite> retrieves a metadata associated with the given key stored in the current BinaryView.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>key</strong> (<a class="reference external" href="https://docs.python.org/2/library/string.html#module-string" title="(in Python v2.7)"><em>string</em></a>) – key to query</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">metadata associated with the key</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">store_metadata</span><span class="p">(</span><span class="s2">"integer"</span><span class="p">,</span> <span class="mi">1337</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">query_metadata</span><span class="p">(</span><span class="s2">"integer"</span><span class="p">)</span>
|
|
<span class="go">1337L</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">store_metadata</span><span class="p">(</span><span class="s2">"list"</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">])</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">query_metadata</span><span class="p">(</span><span class="s2">"list"</span><span class="p">)</span>
|
|
<span class="go">[1L, 2L, 3L]</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">store_metadata</span><span class="p">(</span><span class="s2">"string"</span><span class="p">,</span> <span class="s2">"my_data"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">query_metadata</span><span class="p">(</span><span class="s2">"string"</span><span class="p">)</span>
|
|
<span class="go">'my_data'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.read">
|
|
<code class="descname">read</code><span class="sig-paren">(</span><em>addr</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.read" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">read</span></code> returns the data reads at most <code class="docutils literal"><span class="pre">length</span></code> bytes from virtual address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<p>Note: Python2 returns a str, but Python3 returns a bytes object. str(DataBufferObject) will
|
|
still get you a str in either case.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to read from.</li>
|
|
<li><strong>length</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – number of bytes to read.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">at most <code class="docutils literal"><span class="pre">length</span></code> bytes from the virtual address <code class="docutils literal"><span class="pre">addr</span></code>, empty string on error or no data.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">python2 - str; python3 - bytes</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="c1">#Opening a x86_64 Mach-O binary</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span> <span class="o">=</span> <span class="n">BinaryViewType</span><span class="p">[</span><span class="s1">'Raw'</span><span class="p">]</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">"/bin/ls"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span>
|
|
<span class="go">'\xcf\xfa\xed\xfe'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.reanalyze">
|
|
<code class="descname">reanalyze</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.reanalyze"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.reanalyze" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">reanalyze</span></code> causes all functions to be reanalyzed. This function does not wait for the analysis to finish.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.redo">
|
|
<code class="descname">redo</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.redo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.redo" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">redo</span></code> redo the last commited action in the undo database.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">begin_undo_actions</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">convert_to_nop</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">commit_undo_actions</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">undo</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">redo</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="classmethod">
|
|
<dt id="binaryninja.binaryview.BinaryView.register">
|
|
<em class="property">classmethod </em><code class="descname">register</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.register"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.register" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.register_notification">
|
|
<code class="descname">register_notification</code><span class="sig-paren">(</span><em>notify</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.register_notification"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.register_notification" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><cite>register_notification</cite> provides a mechanism for receiving callbacks for various analysis events. A full
|
|
list of callbacks can be seen in <a class="reference internal" href="binaryninja.binaryview.BinaryDataNotification.html#binaryninja.binaryview.BinaryDataNotification" title="binaryninja.binaryview.BinaryDataNotification"><code class="xref py py-class docutils literal"><span class="pre">BinaryDataNotification</span></code></a>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>notify</strong> (<a class="reference internal" href="binaryninja.binaryview.BinaryDataNotification.html#binaryninja.binaryview.BinaryDataNotification" title="binaryninja.binaryview.BinaryDataNotification"><em>BinaryDataNotification</em></a>) – notify is a subclassed instance of <a class="reference internal" href="binaryninja.binaryview.BinaryDataNotification.html#binaryninja.binaryview.BinaryDataNotification" title="binaryninja.binaryview.BinaryDataNotification"><code class="xref py py-class docutils literal"><span class="pre">BinaryDataNotification</span></code></a>.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.register_platform_types">
|
|
<code class="descname">register_platform_types</code><span class="sig-paren">(</span><em>platform</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.register_platform_types"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.register_platform_types" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">register_platform_types</span></code> ensures that the platform-specific types for a <code class="xref py py-class docutils literal"><span class="pre">Platform</span></code> are available
|
|
for the current <a class="reference internal" href="binaryninja.binaryview.BinaryView.html#binaryninja.binaryview.BinaryView" title="binaryninja.binaryview.BinaryView"><code class="xref py py-class docutils literal"><span class="pre">BinaryView</span></code></a>. This is automatically performed when adding a new function or setting
|
|
the default platform.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>platform</strong> (<a class="reference internal" href="binaryninja.platform.Platform.html#binaryninja.platform.Platform" title="binaryninja.platform.Platform"><em>Platform</em></a>) – Platform containing types to be registered</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">platform</span> <span class="o">=</span> <span class="n">Platform</span><span class="p">[</span><span class="s2">"linux-x86"</span><span class="p">]</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">register_platform_types</span><span class="p">(</span><span class="n">platform</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.registered_view_type">
|
|
<code class="descname">registered_view_type</code><em class="property"> = None</em><a class="headerlink" href="#binaryninja.binaryview.BinaryView.registered_view_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.relocatable">
|
|
<code class="descname">relocatable</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.relocatable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Boolean - is the binary relocatable (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.remove">
|
|
<code class="descname">remove</code><span class="sig-paren">(</span><em>addr</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.remove" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">remove</span></code> removes at most <code class="docutils literal"><span class="pre">length</span></code> bytes from virtual address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to remove from.</li>
|
|
<li><strong>length</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – number of bytes to remove.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">number of bytes removed from virtual address <code class="docutils literal"><span class="pre">addr</span></code></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">8</span><span class="p">)</span>
|
|
<span class="go">'BBBBAAAA'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span>
|
|
<span class="go">4L</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span>
|
|
<span class="go">'AAAA'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.remove_auto_section">
|
|
<code class="descname">remove_auto_section</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.remove_auto_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.remove_auto_section" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.remove_auto_segment">
|
|
<code class="descname">remove_auto_segment</code><span class="sig-paren">(</span><em>start</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.remove_auto_segment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.remove_auto_segment" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.remove_function">
|
|
<code class="descname">remove_function</code><span class="sig-paren">(</span><em>func</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.remove_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.remove_function" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">remove_function</span></code> removes the function <code class="docutils literal"><span class="pre">func</span></code> from the list of functions</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>func</strong> (<a class="reference internal" href="binaryninja.function.Function.html#binaryninja.function.Function" title="binaryninja.function.Function"><em>Function</em></a>) – a Function object.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">functions</span>
|
|
<span class="go">[<func: x86_64@0x1>]</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">remove_function</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">functions</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">functions</span>
|
|
<span class="go">[]</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.remove_metadata">
|
|
<code class="descname">remove_metadata</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.remove_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.remove_metadata" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><cite>remove_metadata</cite> removes the metadata associated with key from the current BinaryView.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>key</strong> (<a class="reference external" href="https://docs.python.org/2/library/string.html#module-string" title="(in Python v2.7)"><em>string</em></a>) – key associated with metadata to remove from the BinaryView</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">store_metadata</span><span class="p">(</span><span class="s2">"integer"</span><span class="p">,</span> <span class="mi">1337</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">remove_metadata</span><span class="p">(</span><span class="s2">"integer"</span><span class="p">)</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.remove_user_function">
|
|
<code class="descname">remove_user_function</code><span class="sig-paren">(</span><em>func</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.remove_user_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.remove_user_function" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">remove_user_function</span></code> removes the <em>user</em> function <code class="docutils literal"><span class="pre">func</span></code> from the list of functions</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>func</strong> (<a class="reference internal" href="binaryninja.function.Function.html#binaryninja.function.Function" title="binaryninja.function.Function"><em>Function</em></a>) – a Function object.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">functions</span>
|
|
<span class="go">[<func: x86_64@0x1>]</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">remove_user_function</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">functions</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">functions</span>
|
|
<span class="go">[]</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.remove_user_section">
|
|
<code class="descname">remove_user_section</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.remove_user_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.remove_user_section" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.remove_user_segment">
|
|
<code class="descname">remove_user_segment</code><span class="sig-paren">(</span><em>start</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.remove_user_segment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.remove_user_segment" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.rename_type">
|
|
<code class="descname">rename_type</code><span class="sig-paren">(</span><em>old_name</em>, <em>new_name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.rename_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.rename_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">rename_type</span></code> renames a type in the global list of types for the current <a class="reference internal" href="binaryninja.binaryview.BinaryView.html#binaryninja.binaryview.BinaryView" title="binaryninja.binaryview.BinaryView"><code class="xref py py-class docutils literal"><span class="pre">BinaryView</span></code></a></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>old_name</strong> (<a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName"><em>QualifiedName</em></a>) – Existing name of type to be renamed</li>
|
|
<li><strong>new_name</strong> (<a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName"><em>QualifiedName</em></a>) – New name of type to be renamed</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_user_type</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">)</span>
|
|
<span class="go"><type: int32_t></span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">rename_type</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">,</span> <span class="s2">"bar"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="s2">"bar"</span><span class="p">)</span>
|
|
<span class="go"><type: int32_t></span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.save">
|
|
<code class="descname">save</code><span class="sig-paren">(</span><em>dest</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.save" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">save</span></code> saves the original binary file to the provided destination <code class="docutils literal"><span class="pre">dest</span></code> along with any modifications.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>dest</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – destination path and filename of file to be written</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.save_auto_snapshot">
|
|
<code class="descname">save_auto_snapshot</code><span class="sig-paren">(</span><em>progress_func=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.save_auto_snapshot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.save_auto_snapshot" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">save_auto_snapshot</span></code> saves the current database to the already created file.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last"><a class="reference internal" href="#binaryninja.binaryview.BinaryView.create_database" title="binaryninja.binaryview.BinaryView.create_database"><code class="xref py py-meth docutils literal"><span class="pre">create_database()</span></code></a> should have been called prior to executing this method</p>
|
|
</div>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>progress_func</strong> (<em>callable()</em>) – optional function to be called with the current progress and total count.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">True if it successfully saved the snapshot, False otherwise</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.saved">
|
|
<code class="descname">saved</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.saved" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>boolean state of whether or not the file has been saved (read/write)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.sections">
|
|
<code class="descname">sections</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.sections" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>List of sections (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.segments">
|
|
<code class="descname">segments</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.segments" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>List of segments (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.session_data">
|
|
<code class="descname">session_data</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.session_data" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Dictionary object where plugins can store arbitrary data associated with the view</p>
|
|
</dd></dl>
|
|
|
|
<dl class="classmethod">
|
|
<dt id="binaryninja.binaryview.BinaryView.set_default_session_data">
|
|
<em class="property">classmethod </em><code class="descname">set_default_session_data</code><span class="sig-paren">(</span><em>name</em>, <em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.set_default_session_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.set_default_session_data" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">set_default_session_data</span></code> saves a variable to the BinaryView.
|
|
:param name: name of the variable to be saved
|
|
:param value: value of the variable to be saved</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">BinaryView</span><span class="o">.</span><span class="n">set_default_session_data</span><span class="p">(</span><span class="s2">"variable_name"</span><span class="p">,</span> <span class="s2">"value"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">session_data</span><span class="o">.</span><span class="n">variable_name</span>
|
|
<span class="go">'value'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.show_html_report">
|
|
<code class="descname">show_html_report</code><span class="sig-paren">(</span><em>title</em>, <em>contents</em>, <em>plaintext=''</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.show_html_report"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.show_html_report" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.show_markdown_report">
|
|
<code class="descname">show_markdown_report</code><span class="sig-paren">(</span><em>title</em>, <em>contents</em>, <em>plaintext=''</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.show_markdown_report"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.show_markdown_report" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.show_plain_text_report">
|
|
<code class="descname">show_plain_text_report</code><span class="sig-paren">(</span><em>title</em>, <em>contents</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.show_plain_text_report"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.show_plain_text_report" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.skip_and_return_value">
|
|
<code class="descname">skip_and_return_value</code><span class="sig-paren">(</span><em>addr</em>, <em>value</em>, <em>arch=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.skip_and_return_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.skip_and_return_value" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">skip_and_return_value</span></code> convert the <code class="docutils literal"><span class="pre">call</span></code> instruction of architecture <code class="docutils literal"><span class="pre">arch</span></code> at the virtual address
|
|
<code class="docutils literal"><span class="pre">addr</span></code> to the equivilent of returning a value.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address of the instruction to be modified</li>
|
|
<li><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – value to make the instruction <em>return</em></li>
|
|
<li><strong>arch</strong> (<a class="reference internal" href="binaryninja.architecture.Architecture.html#binaryninja.architecture.Architecture" title="binaryninja.architecture.Architecture"><em>Architecture</em></a>) – (optional) the architecture of the instructions if different from the default</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True on success, False on falure.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x1000132a</span><span class="p">)</span>
|
|
<span class="go">'call 0x1000134a'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">skip_and_return_value</span><span class="p">(</span><span class="mh">0x1000132a</span><span class="p">,</span> <span class="mi">42</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="c1">#The return value from x86 functions is stored in eax thus:</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x1000132a</span><span class="p">)</span>
|
|
<span class="go">'mov eax, 0x2a'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.start">
|
|
<code class="descname">start</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.start" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Start offset of the binary (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.store_metadata">
|
|
<code class="descname">store_metadata</code><span class="sig-paren">(</span><em>key</em>, <em>md</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.store_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.store_metadata" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><cite>store_metadata</cite> stores an object for the given key in the current BinaryView. Objects stored using
|
|
<cite>store_metadata</cite> can be retrieved when the database is reopend. Objects stored are not arbitrary python
|
|
objects! The values stored must be able to be held in a Metadata object. See <code class="xref py py-class docutils literal"><span class="pre">Metadata</span></code>
|
|
for more information. Python objects could obviously be serialized using pickle but this intentionally
|
|
a task left to the user since there is the potential security issues.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>key</strong> (<a class="reference external" href="https://docs.python.org/2/library/string.html#module-string" title="(in Python v2.7)"><em>string</em></a>) – key value to associate the Metadata object with</li>
|
|
<li><strong>md</strong> (<em>Varies</em>) – object to store.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">store_metadata</span><span class="p">(</span><span class="s2">"integer"</span><span class="p">,</span> <span class="mi">1337</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">query_metadata</span><span class="p">(</span><span class="s2">"integer"</span><span class="p">)</span>
|
|
<span class="go">1337L</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">store_metadata</span><span class="p">(</span><span class="s2">"list"</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">])</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">query_metadata</span><span class="p">(</span><span class="s2">"list"</span><span class="p">)</span>
|
|
<span class="go">[1L, 2L, 3L]</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">store_metadata</span><span class="p">(</span><span class="s2">"string"</span><span class="p">,</span> <span class="s2">"my_data"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">query_metadata</span><span class="p">(</span><span class="s2">"string"</span><span class="p">)</span>
|
|
<span class="go">'my_data'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.strings">
|
|
<code class="descname">strings</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.strings" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>List of strings (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.symbols">
|
|
<code class="descname">symbols</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.symbols" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Dict of symbols (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.types">
|
|
<code class="descname">types</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.types" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>List of defined types (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.undefine_auto_symbol">
|
|
<code class="descname">undefine_auto_symbol</code><span class="sig-paren">(</span><em>sym</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.undefine_auto_symbol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.undefine_auto_symbol" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">undefine_auto_symbol</span></code> removes a symbol from the internal list of automatically discovered Symbol objects.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>sym</strong> (<a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol"><em>Symbol</em></a>) – the symbol to undefine</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.undefine_data_var">
|
|
<code class="descname">undefine_data_var</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.undefine_data_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.undefine_data_var" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">undefine_data_var</span></code> removes the non-user data variable at the virtual address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to define the data variable to be removed</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">undefine_data_var</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.undefine_type">
|
|
<code class="descname">undefine_type</code><span class="sig-paren">(</span><em>type_id</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.undefine_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.undefine_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">undefine_type</span></code> removes a <code class="xref py py-class docutils literal"><span class="pre">Type</span></code> from the global list of types for the current <a class="reference internal" href="binaryninja.binaryview.BinaryView.html#binaryninja.binaryview.BinaryView" title="binaryninja.binaryview.BinaryView"><code class="xref py py-class docutils literal"><span class="pre">BinaryView</span></code></a></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>type_id</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Unique identifier of type to be undefined</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">type_id</span> <span class="o">=</span> <span class="n">Type</span><span class="o">.</span><span class="n">generate_auto_type_id</span><span class="p">(</span><span class="s2">"source"</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_type</span><span class="p">(</span><span class="n">type_id</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
|
|
<span class="go"><type: int32_t></span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">undefine_type</span><span class="p">(</span><span class="n">type_id</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.undefine_user_data_var">
|
|
<code class="descname">undefine_user_data_var</code><span class="sig-paren">(</span><em>addr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.undefine_user_data_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.undefine_user_data_var" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">undefine_user_data_var</span></code> removes the user data variable at the virtual address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to define the data variable to be removed</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">undefine_user_data_var</span><span class="p">(</span><span class="n">bv</span><span class="o">.</span><span class="n">entry_point</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.undefine_user_symbol">
|
|
<code class="descname">undefine_user_symbol</code><span class="sig-paren">(</span><em>sym</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.undefine_user_symbol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.undefine_user_symbol" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">undefine_user_symbol</span></code> removes a symbol from the internal list of user added Symbol objects.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>sym</strong> (<a class="reference internal" href="binaryninja.types.Symbol.html#binaryninja.types.Symbol" title="binaryninja.types.Symbol"><em>Symbol</em></a>) – the symbol to undefine</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.undefine_user_type">
|
|
<code class="descname">undefine_user_type</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.undefine_user_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.undefine_user_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">undefine_user_type</span></code> removes a <code class="xref py py-class docutils literal"><span class="pre">Type</span></code> from the global list of user types for the current
|
|
<a class="reference internal" href="binaryninja.binaryview.BinaryView.html#binaryninja.binaryview.BinaryView" title="binaryninja.binaryview.BinaryView"><code class="xref py py-class docutils literal"><span class="pre">BinaryView</span></code></a></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>name</strong> (<a class="reference internal" href="binaryninja.types.QualifiedName.html#binaryninja.types.QualifiedName" title="binaryninja.types.QualifiedName"><em>QualifiedName</em></a>) – Name of user type to be undefined</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">type</span><span class="p">,</span> <span class="n">name</span> <span class="o">=</span> <span class="n">bv</span><span class="o">.</span><span class="n">parse_type_string</span><span class="p">(</span><span class="s2">"int foo"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">define_user_type</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
|
|
<span class="go"><type: int32_t></span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">undefine_user_type</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_type_by_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.undo">
|
|
<code class="descname">undo</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.undo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.undo" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">undo</span></code> undo the last commited action in the undo database.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">begin_undo_actions</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">convert_to_nop</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">commit_undo_actions</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">undo</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'xor eax, eax'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">redo</span><span class="p">()</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">get_disassembly</span><span class="p">(</span><span class="mh">0x100012f1</span><span class="p">)</span>
|
|
<span class="go">'nop'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.unregister_notification">
|
|
<code class="descname">unregister_notification</code><span class="sig-paren">(</span><em>notify</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.unregister_notification"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.unregister_notification" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><cite>unregister_notification</cite> unregisters the <a class="reference internal" href="binaryninja.binaryview.BinaryDataNotification.html#binaryninja.binaryview.BinaryDataNotification" title="binaryninja.binaryview.BinaryDataNotification"><code class="xref py py-class docutils literal"><span class="pre">BinaryDataNotification</span></code></a> object passed to
|
|
<cite>register_notification</cite></p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>notify</strong> (<a class="reference internal" href="binaryninja.binaryview.BinaryDataNotification.html#binaryninja.binaryview.BinaryDataNotification" title="binaryninja.binaryview.BinaryDataNotification"><em>BinaryDataNotification</em></a>) – notify is a subclassed instance of <a class="reference internal" href="binaryninja.binaryview.BinaryDataNotification.html#binaryninja.binaryview.BinaryDataNotification" title="binaryninja.binaryview.BinaryDataNotification"><code class="xref py py-class docutils literal"><span class="pre">BinaryDataNotification</span></code></a>.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.update_analysis">
|
|
<code class="descname">update_analysis</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.update_analysis"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.update_analysis" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">update_analysis</span></code> asynchronously starts the analysis running and returns immediately. Analysis of BinaryViews
|
|
does not occur automatically, the user must start analysis by calling either <code class="docutils literal"><span class="pre">update_analysis()</span></code> or
|
|
<code class="docutils literal"><span class="pre">update_analysis_and_wait()</span></code>. An analysis update <strong>must</strong> be run after changes are made which could change
|
|
analysis results such as adding functions.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.update_analysis_and_wait">
|
|
<code class="descname">update_analysis_and_wait</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.update_analysis_and_wait"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.update_analysis_and_wait" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">update_analysis_and_wait</span></code> blocking call to update the analysis, this call returns when the analysis is
|
|
complete. Analysis of BinaryViews does not occur automatically, the user must start analysis by calling either
|
|
<code class="docutils literal"><span class="pre">update_analysis()</span></code> or <code class="docutils literal"><span class="pre">update_analysis_and_wait()</span></code>. An analysis update <strong>must</strong> be run after changes are
|
|
made which could change analysis results such as adding functions.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.view">
|
|
<code class="descname">view</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.view" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryView.view_type">
|
|
<code class="descname">view_type</code><a class="headerlink" href="#binaryninja.binaryview.BinaryView.view_type" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>View type (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryView.write">
|
|
<code class="descname">write</code><span class="sig-paren">(</span><em>addr</em>, <em>data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryView.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryView.write" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write</span></code> writes the bytes in <code class="docutils literal"><span class="pre">data</span></code> to the virtual address <code class="docutils literal"><span class="pre">addr</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>addr</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – virtual address to write to.</li>
|
|
<li><strong>data</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – data to be written at addr.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">number of bytes written to virtual address <code class="docutils literal"><span class="pre">addr</span></code></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span>
|
|
<span class="go">'BBBB'</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s2">"AAAA"</span><span class="p">)</span>
|
|
<span class="go">4L</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span>
|
|
<span class="go">'AAAA'</span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.BinaryViewType">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">BinaryViewType</code><span class="sig-paren">(</span><em>handle</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.create">
|
|
<code class="descname">create</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.create" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.get_arch">
|
|
<code class="descname">get_arch</code><span class="sig-paren">(</span><em>ident</em>, <em>endian</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.get_arch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.get_arch" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.get_platform">
|
|
<code class="descname">get_platform</code><span class="sig-paren">(</span><em>ident</em>, <em>arch</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.get_platform"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.get_platform" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="classmethod">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.get_view_of_file">
|
|
<em class="property">classmethod </em><code class="descname">get_view_of_file</code><span class="sig-paren">(</span><em>filename</em>, <em>update_analysis=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.get_view_of_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.get_view_of_file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">get_view_of_file</span></code> returns the first available, non-Raw <cite>BinaryView</cite> available.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Path to filename or bndb</li>
|
|
<li><strong>update_analysis</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool"><em>bool</em></a>) – defaults to True. Pass False to not run update_analysis_and_wait.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">returns a BinaryView object for the given filename.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">BinaryView or None</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.is_valid_for_data">
|
|
<code class="descname">is_valid_for_data</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.is_valid_for_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.is_valid_for_data" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.list">
|
|
<code class="descname">list</code><em class="property"> = [<view type: 'Raw'>, <view type: 'ELF'>, <view type: 'Mach-O'>, <view type: 'PE'>]</em><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.list" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.long_name">
|
|
<code class="descname">long_name</code><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.long_name" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>BinaryView long name (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.name">
|
|
<code class="descname">name</code><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.name" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>BinaryView name (read-only)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.open">
|
|
<code class="descname">open</code><span class="sig-paren">(</span><em>src</em>, <em>file_metadata=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.open" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.register_arch">
|
|
<code class="descname">register_arch</code><span class="sig-paren">(</span><em>ident</em>, <em>endian</em>, <em>arch</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.register_arch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.register_arch" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.register_default_platform">
|
|
<code class="descname">register_default_platform</code><span class="sig-paren">(</span><em>arch</em>, <em>plat</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.register_default_platform"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.register_default_platform" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryViewType.register_platform">
|
|
<code class="descname">register_platform</code><span class="sig-paren">(</span><em>ident</em>, <em>arch</em>, <em>plat</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryViewType.register_platform"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryViewType.register_platform" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.BinaryWriter">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">BinaryWriter</code><span class="sig-paren">(</span><em>view</em>, <em>endian=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<p><code class="docutils literal"><span class="pre">class</span> <span class="pre">BinaryWriter</span></code> is a convenience class for writing binary data.</p>
|
|
<p>BinaryWriter can be instantiated as follows and the rest of the document will start from this context</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">binaryninja</span> <span class="k">import</span> <span class="o">*</span>
|
|
<span class="gp">>>> </span><span class="n">bv</span> <span class="o">=</span> <span class="n">BinaryViewType</span><span class="p">[</span><span class="s1">'Mach-O'</span><span class="p">]</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">"/bin/ls"</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">br</span> <span class="o">=</span> <span class="n">BinaryReader</span><span class="p">(</span><span class="n">bv</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bw</span> <span class="o">=</span> <span class="n">BinaryWriter</span><span class="p">(</span><span class="n">bv</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Or using the optional endian parameter</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">binaryninja</span> <span class="k">import</span> <span class="o">*</span>
|
|
<span class="gp">>>> </span><span class="n">br</span> <span class="o">=</span> <span class="n">BinaryReader</span><span class="p">(</span><span class="n">bv</span><span class="p">,</span> <span class="n">Endianness</span><span class="o">.</span><span class="n">BigEndian</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="n">bw</span> <span class="o">=</span> <span class="n">BinaryWriter</span><span class="p">(</span><span class="n">bv</span><span class="p">,</span> <span class="n">Endianness</span><span class="o">.</span><span class="n">BigEndian</span><span class="p">)</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.endianness">
|
|
<code class="descname">endianness</code><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.endianness" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>The Endianness to written data. (read/write)</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Getter:</th><td class="field-body">returns the endianness of the reader</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Setter:</th><td class="field-body">sets the endianness of the reader (BigEndian or LittleEndian)</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">Endianness</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.offset">
|
|
<code class="descname">offset</code><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.offset" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>The current write offset (read/write).</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Getter:</th><td class="field-body">returns the current internal offset</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Setter:</th><td class="field-body">sets the internal offset</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">int</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.seek">
|
|
<code class="descname">seek</code><span class="sig-paren">(</span><em>offset</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.seek"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.seek" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">seek</span></code> update internal offset to <code class="docutils literal"><span class="pre">offset</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>offset</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – offset to set the internal offset to</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bw</span><span class="o">.</span><span class="n">offset</span><span class="p">)</span>
|
|
<span class="go">'0x100000008L'</span>
|
|
<span class="gp">>>> </span><span class="n">bw</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mh">0x100000000</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bw</span><span class="o">.</span><span class="n">offset</span><span class="p">)</span>
|
|
<span class="go">'0x100000000L'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.seek_relative">
|
|
<code class="descname">seek_relative</code><span class="sig-paren">(</span><em>offset</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.seek_relative"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.seek_relative" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">seek_relative</span></code> updates the internal offset by <code class="docutils literal"><span class="pre">offset</span></code>.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>offset</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – offset to add to the internal offset</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2/library/constants.html#None" title="(in Python v2.7)">None</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bw</span><span class="o">.</span><span class="n">offset</span><span class="p">)</span>
|
|
<span class="go">'0x100000008L'</span>
|
|
<span class="gp">>>> </span><span class="n">bw</span><span class="o">.</span><span class="n">seek_relative</span><span class="p">(</span><span class="o">-</span><span class="mi">8</span><span class="p">)</span>
|
|
<span class="gp">>>> </span><span class="nb">hex</span><span class="p">(</span><span class="n">bw</span><span class="o">.</span><span class="n">offset</span><span class="p">)</span>
|
|
<span class="go">'0x100000000L'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write">
|
|
<code class="descname">write</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write</span></code> writes <code class="docutils literal"><span class="pre">len(value)</span></code> bytes to the internal offset, without regard to endianness.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>value</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – bytes to be written at current offset</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">boolean True on success, False on failure.</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bw</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"AAAA"</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
|
<span class="go">'AAAA'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write16">
|
|
<code class="descname">write16</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write16"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write16" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write16</span></code> writes the lowest order two bytes from the integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset, using internal endianness.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write16be">
|
|
<code class="descname">write16be</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write16be"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write16be" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write16be</span></code> writes the lowest order two bytes from the big endian integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write16le">
|
|
<code class="descname">write16le</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write16le"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write16le" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write16le</span></code> writes the lowest order two bytes from the little endian integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write32">
|
|
<code class="descname">write32</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write32"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write32" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write32</span></code> writes the lowest order four bytes from the integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset, using internal endianness.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write32be">
|
|
<code class="descname">write32be</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write32be"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write32be" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write32be</span></code> writes the lowest order four bytes from the big endian integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write32le">
|
|
<code class="descname">write32le</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write32le"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write32le" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write32le</span></code> writes the lowest order four bytes from the little endian integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write64">
|
|
<code class="descname">write64</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write64"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write64" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write64</span></code> writes the lowest order eight bytes from the integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset, using internal endianness.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write64be">
|
|
<code class="descname">write64be</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write64be"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write64be" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write64be</span></code> writes the lowest order eight bytes from the big endian integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write64le">
|
|
<code class="descname">write64le</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write64le"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write64le" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write64le</span></code> writes the lowest order eight bytes from the little endian integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int"><em>int</em></a>) – integer value to write.</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">boolean True on success, False on failure.</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.bool" title="binaryninja.types.Type.bool">bool</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="binaryninja.binaryview.BinaryWriter.write8">
|
|
<code class="descname">write8</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#BinaryWriter.write8"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.BinaryWriter.write8" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p><code class="docutils literal"><span class="pre">write8</span></code> lowest order byte from the integer <code class="docutils literal"><span class="pre">value</span></code> to the current offset.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>value</strong> (<a class="reference external" href="https://docs.python.org/2/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – bytes to be written at current offset</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">boolean</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="binaryninja.types-module.html#binaryninja.types.Type.int" title="binaryninja.types.Type.int">int</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Example:</th><td class="field-body"><div class="first last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">bw</span><span class="o">.</span><span class="n">write8</span><span class="p">(</span><span class="mh">0x42</span><span class="p">)</span>
|
|
<span class="go">True</span>
|
|
<span class="gp">>>> </span><span class="n">br</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
|
<span class="go">'B'</span>
|
|
<span class="go">>>></span>
|
|
</pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.DataVariable">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">DataVariable</code><span class="sig-paren">(</span><em>addr</em>, <em>var_type</em>, <em>auto_discovered</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#DataVariable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.DataVariable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.Section">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">Section</code><span class="sig-paren">(</span><em>name</em>, <em>section_type</em>, <em>start</em>, <em>length</em>, <em>linked_section</em>, <em>info_section</em>, <em>info_data</em>, <em>align</em>, <em>entry_size</em>, <em>semantics</em>, <em>auto_defined</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#Section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.Section" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.Section.end">
|
|
<code class="descname">end</code><a class="headerlink" href="#binaryninja.binaryview.Section.end" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.Segment">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">Segment</code><span class="sig-paren">(</span><em>start</em>, <em>length</em>, <em>data_offset</em>, <em>data_length</em>, <em>flags</em>, <em>auto_defined</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#Segment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.Segment" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.Segment.end">
|
|
<code class="descname">end</code><a class="headerlink" href="#binaryninja.binaryview.Segment.end" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.Segment.executable">
|
|
<code class="descname">executable</code><a class="headerlink" href="#binaryninja.binaryview.Segment.executable" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.Segment.readable">
|
|
<code class="descname">readable</code><a class="headerlink" href="#binaryninja.binaryview.Segment.readable" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.Segment.writable">
|
|
<code class="descname">writable</code><a class="headerlink" href="#binaryninja.binaryview.Segment.writable" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="binaryninja.binaryview.StringReference">
|
|
<em class="property">class </em><code class="descclassname">binaryninja.binaryview.</code><code class="descname">StringReference</code><span class="sig-paren">(</span><em>bv</em>, <em>string_type</em>, <em>start</em>, <em>length</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/binaryview.html#StringReference"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.binaryview.StringReference" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
|
|
<dl class="attribute">
|
|
<dt id="binaryninja.binaryview.StringReference.value">
|
|
<code class="descname">value</code><a class="headerlink" href="#binaryninja.binaryview.StringReference.value" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="binaryninja.binaryview.ActiveAnalysisInfo.html" class="btn btn-neutral float-right" title="binaryninja.binaryview.ActiveAnalysisInfo" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="binaryninja.binaryninja.worker_priority_enqueue.html" class="btn btn-neutral" title="binaryninja.binaryninja.worker_priority_enqueue" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2016, Vector 35 LLC.
|
|
|
|
</p>
|
|
</div>
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'1.1.0',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</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/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |