Skip to content
This repository has been archived by the owner on Jul 15, 2022. It is now read-only.

mborgerson/mdec

Repository files navigation

Update: mdec is now deprecated in favor of the community maintained decompiler-explorer project!

mdec

Explore multiple decompilers and compare their output with minimal effort. Upload binary, get decompilation.

Supported Decompilers

Notes:

  1. Hex-Rays and Binary Ninja require license and binaries; other decompilers will be downloaded automatically.
  2. JEB CE requires a license code. It's free. More info here.

Components

  • Each decompiler is a service that runs in its own container
  • A frontend web service proxies requests to backend service

Install

You'll need to add your proprietary packages in backend/*/private. Then just:

COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker compose build

Tip: If you want to build only a few services, append the service names to the above command. For example, to build only the free/open source decompilers you can specify:

COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker compose build \
  frontend \
  angr \
  ghidra \
  r2dec \
  reko \
  retdec \
  snowman

Run

docker compose up

Point your browser at http://127.0.0.1.

Tip: If you want to start only a few services, append the service names to the above command (e.g. frontend, angr, etc.)

API

You can also request decomp like:

curl -F 'file=@test.o' http://127.0.0.1/hexrays/decompile

About

Decompilation as a Service. Explore multiple decompilers and compare their output with minimal effort. Upload binary, get decompilation.

Topics

Resources

License

Stars

Watchers

Forks