/decompiler-explorer

Decompiler Explorer! Compare tools on the forefront of static analysis, now in your web browser!

Primary LanguagePythonMIT LicenseMIT

Decompiler Explorer

Decompiler Explorer is a web front-end to a number of decompilers. This web service lets you compare the output of different decompilers on small executables. In other words: It's basically the same thing as Matt Godbolt's awesome Compiler Explorer, but in reverse.

Decompiler Explorer

Prerequisites

  • python >= 3.8
  • pipenv
  • docker
  • docker-compose

Installation

pipenv install
python scripts/dce.py init

Setting up decompilers

See the instructions here

Running in docker (dev)

pipenv install
python scripts/dce.py init

# Build all decompilers with valid keys
python scripts/dce.py build
# If you want to exclude certain decompilers
# python scripts/dce.py --without-reko build

python scripts/dce.py start
# UI now accessible on port 80/443

Running in docker (production)

python scripts/dce.py start --prod --replicas 2 --acme-email=<your email>

Running in docker (production with s3 storage)

python scripts/dce.py start --prod --replicas 2 --acme-email=<your email> --s3 --s3-bucket=<s3 bucket name> --s3-endpoint=<s3 compatible endpoint> --s3-region=<s3 region>

Starting dev server (outside Docker)

This won't start any decompilers, just the frontend

pipenv run python manage.py migrate
pipenv run python manage.py runserver 0.0.0.0:8000

Starting decompiler for dev server

export EXPLORER_URL=http://172.17.0.1:8000

docker-compose up binja --build --force-recreate --remove-orphans