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

630 lines
35 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>binaryninja.architecture.ArchitectureHook &mdash; 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="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">
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 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.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.binaryninja-module.html">binaryninja</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.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> &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.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="descclassname">binaryninja.architecture.</code><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></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"><span class="pre">__init__</span></code></a>(base_arch)</td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">always_branch</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">always_branch</span></code> reads the instruction(s) in <code class="docutils literal"><span class="pre">data</span></code> at virtual address <code class="docutils literal"><span class="pre">addr</span></code> and returns a string of bytes</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">assemble</span></code>(code[,&nbsp;addr])</td>
<td><code class="docutils literal"><span class="pre">assemble</span></code> converts the string of assembly instructions <code class="docutils literal"><span class="pre">code</span></code> loaded at virtual address <code class="docutils literal"><span class="pre">addr</span></code> to the</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">convert_to_nop</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">convert_to_nop</span></code> reads the instruction(s) in <code class="docutils literal"><span class="pre">data</span></code> at virtual address <code class="docutils literal"><span class="pre">addr</span></code> and returns a string of nop</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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"><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>&nbsp;</td><td class="field-body"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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>&nbsp;</td><td class="field-body"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">get_flag_by_name</span></code>(flag)</td>
<td><code class="docutils literal"><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"><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>&nbsp;</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"><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"><span class="pre">get_flag_name</span></code>(flag)</td>
<td><code class="docutils literal"><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"><span class="pre">get_flag_role</span></code>(flag[,&nbsp;sem_class])</td>
<td><code class="docutils literal"><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"><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>&nbsp;</td><td class="field-body"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">get_flag_write_type_by_name</span></code>(write_type)</td>
<td><code class="docutils literal"><span class="pre">get_flag_write_type_by_name</span></code> gets the flag write type name for the flage write type.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">get_flag_write_type_name</span></code>(write_type)</td>
<td><code class="docutils literal"><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"><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"><span class="pre">get_instruction_info</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">get_instruction_info</span></code> returns an InstructionInfo object for the instruction at the given virtual address</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">get_instruction_low_level_il</span></code>(data,&nbsp;addr,&nbsp;il)</td>
<td><code class="docutils literal"><span class="pre">get_instruction_low_level_il</span></code> appends LowLevelILExpr objects to <code class="docutils literal"><span class="pre">il</span></code> for the instruction at the given</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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"><span class="pre">get_instruction_text</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">get_instruction_text</span></code> returns a list of InstructionTextToken objects for the instruction at the given virtual</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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"><span class="pre">get_intrinsic_name</span></code>(intrinsic)</td>
<td><code class="docutils literal"><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"><span class="pre">get_low_level_il_from_bytes</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">get_low_level_il_from_bytes</span></code> converts the instruction in bytes to <code class="docutils literal"><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"><span class="pre">get_modified_regs_on_write</span></code>(reg)</td>
<td><code class="docutils literal"><span class="pre">get_modified_regs_on_write</span></code> returns a list of register names that are modified when <code class="docutils literal"><span class="pre">reg</span></code> is written.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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"><span class="pre">get_reg_name</span></code>(reg)</td>
<td><code class="docutils literal"><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"><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"><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"><span class="pre">get_reg_stack_name</span></code>(reg_stack)</td>
<td><code class="docutils literal"><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"><span class="pre">get_semantic_flag_class_by_name</span></code>(sem_class)</td>
<td><code class="docutils literal"><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"><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"><span class="pre">get_semantic_flag_class_name</span></code>(class_index)</td>
<td><code class="docutils literal"><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"><span class="pre">get_semantic_flag_group_by_name</span></code>(sem_group)</td>
<td><code class="docutils literal"><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"><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"><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>&nbsp;</td><td class="field-body"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">get_semantic_flag_group_name</span></code>(group_index)</td>
<td><code class="docutils literal"><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"><span class="pre">get_view_type_constant</span></code>(type_name,&nbsp;const_name)</td>
<td><code class="docutils literal"><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"><span class="pre">invert_branch</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">invert_branch</span></code> reads the instruction(s) in <code class="docutils literal"><span class="pre">data</span></code> at virtual address <code class="docutils literal"><span class="pre">addr</span></code> and returns a string of bytes</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">is_always_branch_patch_available</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">is_always_branch_patch_available</span></code> determines if the instruction <code class="docutils literal"><span class="pre">data</span></code> at <code class="docutils literal"><span class="pre">addr</span></code> can be made to</td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">is_invert_branch_patch_available</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">is_always_branch_patch_available</span></code> determines if the instruction <code class="docutils literal"><span class="pre">data</span></code> at <code class="docutils literal"><span class="pre">addr</span></code> can be inverted.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">is_never_branch_patch_available</span></code>(data,&nbsp;addr)</td>
<td><code class="docutils literal"><span class="pre">is_never_branch_patch_available</span></code> determines if the instruction <code class="docutils literal"><span class="pre">data</span></code> at <code class="docutils literal"><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"><span class="pre">is_skip_and_return_value_patch_available</span></code>(...)</td>
<td><code class="docutils literal"><span class="pre">is_skip_and_return_value_patch_available</span></code> determines if the instruction <code class="docutils literal"><span class="pre">data</span></code> at <code class="docutils literal"><span class="pre">addr</span></code> is a <em>call-like</em></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">is_skip_and_return_zero_patch_available</span></code>(...)</td>
<td><code class="docutils literal"><span class="pre">is_skip_and_return_zero_patch_available</span></code> determines if the instruction <code class="docutils literal"><span class="pre">data</span></code> at <code class="docutils literal"><span class="pre">addr</span></code> is a <em>call-like</em></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><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>&nbsp;</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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><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"><span class="pre">register</span></code></a>()</td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">register_calling_convention</span></code>(cc)</td>
<td><code class="docutils literal"><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"><span class="pre">set_view_type_constant</span></code>(type_name,&nbsp;...)</td>
<td><code class="docutils literal"><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"><span class="pre">skip_and_return_value</span></code>(data,&nbsp;addr,&nbsp;value)</td>
<td><code class="docutils literal"><span class="pre">skip_and_return_value</span></code> reads the instruction(s) in <code class="docutils literal"><span class="pre">data</span></code> at virtual address <code class="docutils literal"><span class="pre">addr</span></code> and returns a string of</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"><span class="pre">address_size</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><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"><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"><span class="pre">endianness</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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"><span class="pre">flag_roles</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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"><span class="pre">flags</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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"><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"><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"><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"><span class="pre">global_regs</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">instr_alignment</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">intrinsics</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">link_reg</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">list</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><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"><span class="pre">name</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><span class="pre">next_address</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><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"><span class="pre">reg_stacks</span></code></td>
<td></td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">regs</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><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"><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"><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"><span class="pre">stack_pointer</span></code></td>
<td></td>
</tr>
<tr class="row-even"><td><code class="xref py py-obj docutils literal"><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 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>