Skip to content

Repository files navigation

Luramas

The Retargetable & Customizable Decompiler Framework

Luramas is a retargetable decompiler framework made to disassemble, optimize, and lift abstract virtual machines and native CPU architectures into an analyzable and recompilable state.

By separating target-specific parsing from their core semantics, the framework allows you to develop custom frontends (Lifters) for arbitrary bytecode while reusing the unified optimization pipeline.

This repository serves as the framework core for Luramas and contains the engine infrastructure.

Documentation Hub

To maintain clarity, everything is separated from one another. If you are new to Luramas, please visit the links below:

Roadmap

To track feature releases, target support expansions, and optimization milestones, visit our roadmap:

  • Development Roadmap - Real-time tracking of active milestones, upcoming optimization passes, and expanding lifter support.

Pipeline

Luramas separates architecture-specific lifting from the core decompilation pipeline, allowing new targets to reuse existing analysis, optimizations, and code generation.

flowchart LR
    A["Assembly / Bytecode"]
        --> B["Custom Lifter"]
        --> C["Intermediate Language (IL)"]
        --> D["Intermediate Representation (IR)"]
        --> E["Optimization Passes"]
        --> F["Code Generation"]
        --> G["High-Level Source Code"]
Loading

Building and Configuring Luramas

Each Luramas build requires a target configuration to define the architecture-specific behavior and supported features.

Detailed building and configuration instructions can be found here: Building.

Scripts

Luramas includes helper python scripts for automating common redundant tasks.

More information and usage examples can be found in the Py-Scripts directory.

Testing

Each testing directory contains a corresponding output directory with the output of every test code. There is also a README.md to help with navigating it.

Scripts

The tests/scripts directory contains sample scripts used for validating the decompiler across supported interpreted targets.

Programs

The test/programs directory contains sample programs used for validating the decompiler across supported compiled targets. Each test program contains metadata and code-generation in its output more information can be found here: metadata

Examples

Example projects demonstrating Luramas usage, supported targets, and framework integration can be found in the CLI directory.

Prebuilt CLI releases and usage instructions are available on the Releases page.

About

The Retargetable Customizable Decompiler Framework

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages