Skip to content

Repository files navigation

M·CORE Decompiler Plugin for IDA Pro

A self-contained decompiler for Motorola M·CORE architecture, packaged as an IDA Pro 9.4+ plugin. It lifts the disassembly produced by IDA's built-in M-CORE processor into its own intermediate representation, optimizes and structures it, and emits readable C pseudocode with recovered local variables and arguments. The decompiler is bound to the F5 key inside any M-CORE (old and new) databases.

M·CORE Decompiler Plugin for IDA Pro 9.4+

Hex-Rays does not provide a decompiler backend for M-CORE, so there is no microcode target to plug into. This project takes an alternative route: a small, independent decompilation pipeline (IR + optimizer + control-flow + structuring + C emitter) with no dependency on Hex-Rays decompiler APIs. Arguments, structured if statements, and struct-field accesses can still be recovered.

Download

You can find ready-to-install libraries on the GitHub Actions page:

https://github.com/MotoFanRu/IDA_Decompiler_M-CORE/actions

Build

git clone https://github.com/MotoFanRu/IDA_Decompiler_M-CORE --depth=1 -b master
git submodule update --init --recursive --depth=1

cd IDA_Decompiler_M-CORE

cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

# -> build/mcore_decompiler.dll
# -> build/mcore_decompiler.so
# -> build/mcore_decompiler.dylib

Install

Place mcore_decompiler.{dll,so,dylib} file into the plugins directory of your root IDA Pro installation.

Usage

Select a function and press F5 to decompile it.

Additional Information

Releases

Packages

Contributors

Languages