decompiler-explorer / decompiler-explorer

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

Home Page:https://dogbolt.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 --acme-email=<your email> --s3-bucket=<s3 bucket name>

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

About

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

https://dogbolt.org

License:MIT License


Languages

Language:Python 63.2%Language:HTML 13.7%Language:JavaScript 11.1%Language:Dockerfile 7.3%Language:Ruby 2.3%Language:Java 1.0%Language:CSS 0.8%Language:Shell 0.6%