{"id":13611579,"url":"https://github.com/mborgerson/mdec","last_synced_at":"2025-04-13T04:35:00.114Z","repository":{"id":40589731,"uuid":"468617602","full_name":"mborgerson/mdec","owner":"mborgerson","description":"Decompilation as a Service. Explore multiple decompilers and compare their output with minimal effort. Upload binary, get decompilation.","archived":true,"fork":false,"pushed_at":"2022-07-14T20:20:19.000Z","size":221,"stargazers_count":453,"open_issues_count":14,"forks_count":28,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-11-07T18:47:39.731Z","etag":null,"topics":["angr","binary-ninja","decompilation","decompiler","ghidra","ida","jeb","r2dec","reko","retdec","snowman"],"latest_commit_sha":null,"homepage":"http://decompilerexplorer.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mborgerson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-11T05:14:24.000Z","updated_at":"2024-11-04T08:24:27.000Z","dependencies_parsed_at":"2022-07-14T03:40:42.579Z","dependency_job_id":null,"html_url":"https://github.com/mborgerson/mdec","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mborgerson%2Fmdec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mborgerson%2Fmdec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mborgerson%2Fmdec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mborgerson%2Fmdec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mborgerson","download_url":"https://codeload.github.com/mborgerson/mdec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665157,"owners_count":21142118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angr","binary-ninja","decompilation","decompiler","ghidra","ida","jeb","r2dec","reko","retdec","snowman"],"created_at":"2024-08-01T19:01:58.141Z","updated_at":"2025-04-13T04:34:59.815Z","avatar_url":"https://github.com/mborgerson.png","language":"Python","readme":"**Update:** mdec is now deprecated in favor of the community maintained [decompiler-explorer](https://github.com/decompiler-explorer/decompiler-explorer) project!\n\nmdec\n====\n\nExplore multiple decompilers and compare their output with minimal effort. Upload binary, get decompilation.\n\n![](screenshot.png)\n\nSupported Decompilers\n---------------------\n* [angr](https://angr.io/)\n* [Binary Ninja](https://binary.ninja/)\u003csup\u003e[1]\u003c/sup\u003e\n* [Ghidra](https://ghidra-sre.org/)\n* [Hex-Rays](https://hex-rays.com/decompiler/)\u003csup\u003e[1]\u003c/sup\u003e\n* [JEB CE](https://www.pnfsoftware.com/jeb/community-edition)\u003csup\u003e[2]\u003c/sup\u003e\n* [r2dec](https://github.com/wargio/r2dec-js)\n* [Reko](https://github.com/uxmal/reko)\n* [RetDec](https://github.com/avast/retdec)\n* [Snowman](https://github.com/yegord/snowman)\n\n**Notes:**\n  1. Hex-Rays and Binary Ninja require license and binaries; other decompilers will be downloaded automatically.\n  2. JEB CE requires a license code. It's free. More info [here](backend/jeb/private/README.md).\n\nComponents\n----------\n* Each decompiler is a service that runs in its own container\n* A frontend web service proxies requests to backend service\n\nInstall\n-------\nYou'll need to add your proprietary packages in `backend/*/private`. Then just:\n```\nCOMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker compose build\n```\n\n**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:\n\n```\nCOMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker compose build \\\n  frontend \\\n  angr \\\n  ghidra \\\n  r2dec \\\n  reko \\\n  retdec \\\n  snowman\n```\n\nRun\n---\n```\ndocker compose up\n```\n\nPoint your browser at http://127.0.0.1.\n\n**Tip:** If you want to start only a few services, append the service names to the above command (e.g. frontend, angr, etc.)\n\nAPI\n---\nYou can also request decomp like:\n```\ncurl -F 'file=@test.o' http://127.0.0.1/hexrays/decompile\n```\n\n","funding_links":[],"categories":["Python","Project"],"sub_categories":["Program Analysis"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmborgerson%2Fmdec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmborgerson%2Fmdec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmborgerson%2Fmdec/lists"}