binaryninja/personal/api-docs/binaryninja.architecture.ArchitectureHook.html

636 lines
38 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!--[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>binaryninja.architecture.ArchitectureHook &mdash; Binary Ninja API Documentation v1.1</title>
<link rel="shortcut icon" href="_static/favicon.ico"/>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/css/other.css" type="text/css" />
<link rel="index" title="Index"
href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Binary Ninja API Documentation v1.1" href="index.html"/>
<link rel="up" title="architecture module" href="binaryninja.architecture-module.html"/>
<link rel="next" title="binaryninja.architecture.CoreArchitecture" href="binaryninja.architecture.CoreArchitecture.html"/>
<link rel="prev" title="binaryninja.architecture.Architecture" href="binaryninja.architecture.Architecture.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">
<script>
window.addEventListener("load", function() {
var ver = document.getElementsByClassName("version");
ver[0].innerHTML = DOCUMENTATION_OPTIONS['VERSION'];
});
</script>
</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 current"><a class="reference internal" href="binaryninja.architecture-module.html">architecture</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="binaryninja.architecture.Architecture.html">binaryninja.architecture.Architecture</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">binaryninja.architecture.ArchitectureHook</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.architecture.CoreArchitecture.html">binaryninja.architecture.CoreArchitecture</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.architecture.ReferenceSource.html">binaryninja.architecture.ReferenceSource</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.architecture.long.html">binaryninja.architecture.long</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.architecture.range.html">binaryninja.architecture.range</a></li>
<li class="toctree-l2"><a class="reference internal" href="binaryninja.architecture.with_metaclass.html">binaryninja.architecture.with_metaclass</a></li>
</ul>
</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.binaryview-module.html">binaryview</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.datarender-module.html">datarender</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.flowgraph-module.html">flowgraph</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.numbers-module.html">numbers</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.scriptingprovider-module.html">scriptingprovider</a></li>
<li class="toctree-l1"><a class="reference internal" href="binaryninja.settings-module.html">settings</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> &raquo;</li>
<li><a href="binaryninja.architecture-module.html">architecture module</a> &raquo;</li>
<li>binaryninja.architecture.ArchitectureHook</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/binaryninja.architecture.ArchitectureHook.rst.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="binaryninja-architecture-architecturehook">
<h1>binaryninja.architecture.ArchitectureHook<a class="headerlink" href="#binaryninja-architecture-architecturehook" title="Permalink to this headline"></a></h1>
<dl class="class">
<dt id="binaryninja.architecture.ArchitectureHook">
<em class="property">class </em><code class="descname">ArchitectureHook</code><span class="sig-paren">(</span><em>base_arch</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/architecture.html#ArchitectureHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.architecture.ArchitectureHook" title="Permalink to this definition"></a></dt>
<dd><dl class="method">
<dt id="binaryninja.architecture.ArchitectureHook.__init__">
<code class="descname">__init__</code><span class="sig-paren">(</span><em>base_arch</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binaryninja/architecture.html#ArchitectureHook.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#binaryninja.architecture.ArchitectureHook.__init__" title="Permalink to this definition"></a></dt>
<dd><p>x.__init__(…) initializes x; see help(type(x)) for signature</p>
</dd></dl>
<p class="rubric">Methods</p>
<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.architecture.ArchitectureHook.__init__" title="binaryninja.architecture.ArchitectureHook.__init__"><code class="xref py py-obj docutils literal notranslate"><span class="pre">__init__</span></code></a>(base_arch)</td>
<td>x.__init__(…) initializes x; see help(type(x)) for signature</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">always_branch</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">always_branch</span></code> reads the instruction(s) in <code class="docutils literal notranslate"><span class="pre">data</span></code> at virtual address <code class="docutils literal notranslate"><span class="pre">addr</span></code> and returns a string of bytes of the same length which always branches.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">assemble</span></code>(code[,&nbsp;addr])</td>
<td><code class="docutils literal notranslate"><span class="pre">assemble</span></code> converts the string of assembly instructions <code class="docutils literal notranslate"><span class="pre">code</span></code> loaded at virtual address <code class="docutils literal notranslate"><span class="pre">addr</span></code> to the byte representation of those instructions.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">convert_to_nop</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">convert_to_nop</span></code> reads the instruction(s) in <code class="docutils literal notranslate"><span class="pre">data</span></code> at virtual address <code class="docutils literal notranslate"><span class="pre">addr</span></code> and returns a string of nop instructions of the same length as data.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_associated_arch_by_address</span></code>(addr)</td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_default_flag_condition_low_level_il</span></code>(…)</td>
<td><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" colspan="2">param LowLevelILFlagCondition cond:</th></tr>
<tr class="field-odd field"><td>&#160;</td><td class="field-body"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_default_flag_write_low_level_il</span></code>(op,&nbsp;…)</td>
<td><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" colspan="2">param LowLevelILOperation op:</th></tr>
<tr class="field-odd field"><td>&#160;</td><td class="field-body"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flag_by_name</span></code>(flag)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_flag_by_name</span></code> get flag name for flag index.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flag_condition_low_level_il</span></code>(cond,&nbsp;…)</td>
<td><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" colspan="2">param LowLevelILFlagCondition cond:</th></tr>
<tr class="field-odd field"><td>&#160;</td><td class="field-body">Flag condition to be computed</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flag_index</span></code>(flag)</td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flag_name</span></code>(flag)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_flag_name</span></code> gets a flag name from a flag number.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flag_role</span></code>(flag[,&nbsp;sem_class])</td>
<td><code class="docutils literal notranslate"><span class="pre">get_flag_role</span></code> gets the role of a given flag.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flag_write_low_level_il</span></code>(op,&nbsp;size,&nbsp;…)</td>
<td><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" colspan="2">param LowLevelILOperation op:</th></tr>
<tr class="field-odd field"><td>&#160;</td><td class="field-body"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flag_write_type_by_name</span></code>(write_type)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_flag_write_type_by_name</span></code> gets the flag write type name for the flag write type.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flag_write_type_name</span></code>(write_type)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_flag_write_type_name</span></code> gets the flag write type name for the given flag.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_flags_required_for_flag_condition</span></code>(cond)</td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_instruction_info</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_instruction_info</span></code> returns an InstructionInfo object for the instruction at the given virtual address <code class="docutils literal notranslate"><span class="pre">addr</span></code> with data <code class="docutils literal notranslate"><span class="pre">data</span></code>.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_instruction_low_level_il</span></code>(data,&nbsp;addr,&nbsp;il)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_instruction_low_level_il</span></code> appends LowLevelILExpr objects to <code class="docutils literal notranslate"><span class="pre">il</span></code> for the instruction at the given virtual address <code class="docutils literal notranslate"><span class="pre">addr</span></code> with data <code class="docutils literal notranslate"><span class="pre">data</span></code>.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_instruction_low_level_il_instruction</span></code>(bv,&nbsp;…)</td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_instruction_text</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_instruction_text</span></code> returns a list of InstructionTextToken objects for the instruction at the given virtual address <code class="docutils literal notranslate"><span class="pre">addr</span></code> with data <code class="docutils literal notranslate"><span class="pre">data</span></code>.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_intrinsic_index</span></code>(intrinsic)</td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_intrinsic_name</span></code>(intrinsic)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_intrinsic_name</span></code> gets an intrinsic name from an intrinsic number.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_low_level_il_from_bytes</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_low_level_il_from_bytes</span></code> converts the instruction in bytes to <code class="docutils literal notranslate"><span class="pre">il</span></code> at the given virtual address</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_modified_regs_on_write</span></code>(reg)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_modified_regs_on_write</span></code> returns a list of register names that are modified when <code class="docutils literal notranslate"><span class="pre">reg</span></code> is written.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_reg_index</span></code>(reg)</td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_reg_name</span></code>(reg)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_reg_name</span></code> gets a register name from a register number.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_reg_stack_for_reg</span></code>(reg)</td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_reg_stack_index</span></code>(reg_stack)</td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_reg_stack_name</span></code>(reg_stack)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_reg_stack_name</span></code> gets a register stack name from a register stack number.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_semantic_flag_class_by_name</span></code>(sem_class)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_semantic_flag_class_by_name</span></code> gets the semantic flag class index by name.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_semantic_flag_class_index</span></code>(sem_class)</td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_semantic_flag_class_name</span></code>(class_index)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_semantic_flag_class_name</span></code> gets the name of a semantic flag class from the index.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_semantic_flag_group_by_name</span></code>(sem_group)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_semantic_flag_group_by_name</span></code> gets the semantic flag group index by name.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_semantic_flag_group_index</span></code>(sem_group)</td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_semantic_flag_group_low_level_il</span></code>(…)</td>
<td><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" colspan="2">param str sem_group:</th></tr>
<tr class="field-odd field"><td>&#160;</td><td class="field-body"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_semantic_flag_group_name</span></code>(group_index)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_semantic_flag_group_name</span></code> gets the name of a semantic flag group from the index.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_view_type_constant</span></code>(type_name,&nbsp;const_name)</td>
<td><code class="docutils literal notranslate"><span class="pre">get_view_type_constant</span></code> retrieves the view type constant for the given type_name and const_name.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">invert_branch</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">invert_branch</span></code> reads the instruction(s) in <code class="docutils literal notranslate"><span class="pre">data</span></code> at virtual address <code class="docutils literal notranslate"><span class="pre">addr</span></code> and returns a string of bytes of the same length which inverts the branch of provided instruction.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_always_branch_patch_available</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">is_always_branch_patch_available</span></code> determines if the instruction <code class="docutils literal notranslate"><span class="pre">data</span></code> at <code class="docutils literal notranslate"><span class="pre">addr</span></code> can be made to <strong>always branch</strong>.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_invert_branch_patch_available</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">is_always_branch_patch_available</span></code> determines if the instruction <code class="docutils literal notranslate"><span class="pre">data</span></code> at <code class="docutils literal notranslate"><span class="pre">addr</span></code> can be inverted.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_never_branch_patch_available</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal notranslate"><span class="pre">is_never_branch_patch_available</span></code> determines if the instruction <code class="docutils literal notranslate"><span class="pre">data</span></code> at <code class="docutils literal notranslate"><span class="pre">addr</span></code> can be made to <strong>never branch</strong>.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_skip_and_return_value_patch_available</span></code>(…)</td>
<td><code class="docutils literal notranslate"><span class="pre">is_skip_and_return_value_patch_available</span></code> determines if the instruction <code class="docutils literal notranslate"><span class="pre">data</span></code> at <code class="docutils literal notranslate"><span class="pre">addr</span></code> is a <em>call-like</em> instruction that can be made into an instruction <em>returns a value</em>.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_skip_and_return_zero_patch_available</span></code>(…)</td>
<td><code class="docutils literal notranslate"><span class="pre">is_skip_and_return_zero_patch_available</span></code> determines if the instruction <code class="docutils literal notranslate"><span class="pre">data</span></code> at <code class="docutils literal notranslate"><span class="pre">addr</span></code> is a <em>call-like</em> instruction that can be made into an instruction <em>returns zero</em>.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_view_type_constant_defined</span></code>(type_name,&nbsp;…)</td>
<td><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" colspan="2">param str type_name:</th></tr>
<tr class="field-odd field"><td>&#160;</td><td class="field-body">the BinaryView type name of the constant to query</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_always_branch</span></code>(data,&nbsp;addr)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_assemble</span></code>(code,&nbsp;addr)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_convert_to_nop</span></code>(data,&nbsp;addr)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_associated_arch_by_address</span></code>(addr)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_flag_condition_low_level_il</span></code>(…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_flag_role</span></code>(flag,&nbsp;sem_class)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_flag_write_low_level_il</span></code>(op,&nbsp;…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_flags_required_for_flag_condition</span></code>(…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_instruction_info</span></code>(data,&nbsp;addr)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_instruction_low_level_il</span></code>(data,&nbsp;…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_instruction_text</span></code>(data,&nbsp;addr)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_get_semantic_flag_group_low_level_il</span></code>(…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_invert_branch</span></code>(data,&nbsp;addr)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_is_always_branch_patch_available</span></code>(…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_is_invert_branch_patch_available</span></code>(…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_is_never_branch_patch_available</span></code>(…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_is_skip_and_return_value_patch_available</span></code>(…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_is_skip_and_return_zero_patch_available</span></code>(…)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">perform_skip_and_return_value</span></code>(data,&nbsp;addr,&nbsp;value)</td>
<td>Deprecated method provided for compatibility.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="binaryninja.architecture-module.html#binaryninja.architecture.ArchitectureHook.register" title="binaryninja.architecture.ArchitectureHook.register"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register</span></code></a>()</td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_calling_convention</span></code>(cc)</td>
<td><code class="docutils literal notranslate"><span class="pre">register_calling_convention</span></code> registers a new calling convention for the Architecture.</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">set_view_type_constant</span></code>(type_name,&nbsp;…)</td>
<td><code class="docutils literal notranslate"><span class="pre">set_view_type_constant</span></code> creates a new binaryview type constant.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">skip_and_return_value</span></code>(data,&nbsp;addr,&nbsp;value)</td>
<td><code class="docutils literal notranslate"><span class="pre">skip_and_return_value</span></code> reads the instruction(s) in <code class="docutils literal notranslate"><span class="pre">data</span></code> at virtual address <code class="docutils literal notranslate"><span class="pre">addr</span></code> and returns a string of bytes of the same length which doesnt call and instead <em>return a value</em>.</td>
</tr>
</tbody>
</table>
<p class="rubric">Attributes</p>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">address_size</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">calling_conventions</span></code></td>
<td>Dict of CallingConvention objects (read-only)</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">default_int_size</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">endianness</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">flag_conditions_for_semantic_flag_group</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">flag_roles</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">flag_write_types</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">flags</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">flags_required_for_flag_condition</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">flags_required_for_semantic_flag_group</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">flags_written_by_flag_write_type</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">full_width_regs</span></code></td>
<td>List of full width register strings (read-only)</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">global_regs</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">instr_alignment</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">intrinsics</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">link_reg</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">max_instr_length</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">name</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">next_address</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">opcode_display_length</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">reg_stacks</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">regs</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">semantic_class_for_flag_write_type</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">semantic_flag_classes</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">semantic_flag_groups</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">stack_pointer</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">standalone_platform</span></code></td>
<td>Architecture standalone platform (read-only)</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="binaryninja.architecture.CoreArchitecture.html" class="btn btn-neutral float-right" title="binaryninja.architecture.CoreArchitecture" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="binaryninja.architecture.Architecture.html" class="btn btn-neutral" title="binaryninja.architecture.Architecture" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2015-2019, Vector 35 Inc.
</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>