Awesome Open Source
Awesome Open Source

MicroAVX - An AVX Lifter for the Hex-Rays Decompiler

MicroAVX Plugin

Overview

MicroAVX is an extension of the IDA Pro decompiler, adding partial support for a number of common instructions from Intel's Advanced Vector Extensions (AVX). This plugin demonstrates how the Hex-Rays microcode can be used to lift and decompile new or previously unsupported instructions.

There are no plans further develop MicroAVX, or extend its coverage to the complete set of AVX instructions. This plugin is labeled only as a prototype & code resource for the community.

For more information, please read the associated blogpost.

Releases

  • v0.1 -- Initial release

Installation

MicroAVX is a cross-platform (Windows, macOS, Linux) Python 2/3 plugin. It takes zero third party dependencies, making the code both portable and easy to install.

  1. From your disassembler's python console, run the following command to find its plugin directory:

    • IDA Pro: os.path.join(idaapi.get_user_idadir(), "plugins")
  2. Copy the contents of this repository's /plugins/ folder to the listed directory.

  3. Restart your disassembler.

This plugin is only supported for IDA 7.5 and newer.

Usage

The MircoAVX plugin loads automatically when an x86_64 executable / IDB is opened in IDA. Simply attempt to decompile any function containing AVX instructions, and the the plugin will lift any instructions that it supports.

Decompiling AVX

(please note, there is no right click 'AVX toggle' in this release)

Authors

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (809,126
Plugin (113,827
Ray (3,760
Reverse Engineering (2,314
Ida (1,162
Disassembler (887
Avx (870
Decompiler (591
Decompile (408
Ida Pro (252
Idapython (185
Hexrays (23