{"id":15032091,"url":"https://github.com/jon-becker/heimdall-rs","last_synced_at":"2026-04-30T03:02:48.415Z","repository":{"id":44414621,"uuid":"499880203","full_name":"Jon-Becker/heimdall-rs","owner":"Jon-Becker","description":"Heimdall is an advanced EVM smart contract toolkit specializing in bytecode analysis and extracting information from unverified contracts.","archived":false,"fork":false,"pushed_at":"2025-04-06T19:13:27.000Z","size":6272,"stargazers_count":1303,"open_issues_count":18,"forks_count":135,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-04-12T01:49:45.874Z","etag":null,"topics":["cfg","decoder","decompiler","disassembler","eth","ethereum","evm","rust","security","solidity","toolkit","yul"],"latest_commit_sha":null,"homepage":"http://heimdall.rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jon-Becker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-04T16:32:08.000Z","updated_at":"2025-04-11T16:11:54.000Z","dependencies_parsed_at":"2024-01-13T21:24:32.043Z","dependency_job_id":"2f49d569-859c-4a6e-a5fd-67960528b80d","html_url":"https://github.com/Jon-Becker/heimdall-rs","commit_stats":{"total_commits":610,"total_committers":23,"mean_commits":26.52173913043478,"dds":"0.15081967213114755","last_synced_commit":"0369605af7679cfcdd4951492724004d7babd0c0"},"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jon-Becker%2Fheimdall-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jon-Becker%2Fheimdall-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jon-Becker%2Fheimdall-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jon-Becker%2Fheimdall-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jon-Becker","download_url":"https://codeload.github.com/Jon-Becker/heimdall-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505872,"owners_count":21115354,"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":["cfg","decoder","decompiler","disassembler","eth","ethereum","evm","rust","security","solidity","toolkit","yul"],"created_at":"2024-09-24T20:17:18.578Z","updated_at":"2026-04-30T03:02:48.409Z","avatar_url":"https://github.com/Jon-Becker.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# heimdall-rs\n\n![splash preview](./preview.png?raw=true)\n\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/jon-becker/heimdall-rs/tests.yml?label=Unit%20Tests)\n![GitHub release (with filter)](https://img.shields.io/github/v/release/jon-becker/heimdall-rs?color=success\u0026label=Latest%20Version)\n\n\n## Overview\n\nHeimdall is an advanced EVM smart contract toolkit specializing in bytecode analysis and extracting information from unverified contracts. Heimdall is written in Rust and is designed to be fast, modular, and more accurate than other existing tools.\n\nCurrently, Heimdall supports the following operations:\n * EVM Bytecode Disassembly\n * EVM Smart-Contract Control Flow Graph Generation\n * EVM Smart-Contract Decompilation\n * Smart-Contract Storage Dumping\n * Raw Transaction Calldata Decoding\n * Raw Transaction Trace Decoding\n\n## Installation \u0026 Usage\n\nEnsure that Rust \u0026 Cargo are installed:\n\n```bash\ncurl https://sh.rustup.rs -sSf | sh\n```\n\nHeimdall's update and installation manager, `bifrost`, can be installed using the following command:\n\n```bash\ncurl -L http://get.heimdall.rs | bash\n```\n\nIf you want to manually install bifrost, you can download the latest release from [here](./bifrost/bifrost).\n\nOnce you have installed `bifrost`, you can use it to install Heimdall using the following command from a new terminal:\n\n```bash\nbifrost\n```\n\nAfter compilation, the `heimdall` command will be available to use from a new terminal. For advanced options, see the [bifrost documentation](https://jbecker.dev/r/heimdall-rs/wiki/installation).\n\n_Having trouble? Check out the [Troubleshooting](https://jbecker.dev/r/heimdall-rs/wiki/troubleshooting) section in the wiki._\n\n## Documentation\n\nDocumentation for all of heimdall-rs is available in the [wiki](https://jbecker.dev/r/heimdall-rs/wiki).\n\n## Contributing\n\nIf you'd like to contribute to Heimdall or add a module, please open a pull-request with your changes, as well as detailed information on what is changed, added, or improved.\n\nFor more detailed information, see the [contributing guide](https://jbecker.dev/r/heimdall-rs/wiki/contributing).\n\n## Issues\n\nIf you've found an issue or have a question, please open an issue [here](https://jbecker.dev/r/heimdall-rs/issues). All issues must follow their respective templates.\n\n## Credits\n\nHeimdall is a research-based toolkit created and maintained by [Jonathan Becker](https://jbecker.dev). A full list of our 20+ contributors can be found in the sidebar.\n\nIf interested in the research behind Heimdall, check out some of my [publications](https://jbecker.dev/research).\n\n## Academic Citations\n\nHeimdall has been cited in the following academic papers \u0026 theses:\n\n\n\n- Aimar, D. (2023). *Extraction, indexing, and analysis of Ethereum smart contracts data* [Master’s thesis, Politecnico di Torino]. Webthesis. http://webthesis.biblio.polito.it/id/eprint/28450\n- Chen, Z., Beillahi, S. M., Barahimi, P., Minwalla, C., Du, H., Veneris, A., \u0026 Long, F. (2025). *Secure smart contract with control flow integrity*. arXiv. https://doi.org/10.48550/arXiv.2504.05509\n- Darwish, M. (2024). *From bytecode to safety: Decompiling smart contracts for vulnerability analysis* [Bachelor’s thesis, Linnaeus University]. DiVA Portal. https://urn.kb.se/resolve?urn=urn:nbn:se:lnu:diva-129903\n- De Rosa, P., Felber, P., \u0026 Schiavoni, V. (2026). Seeing through EVM bytecode obfuscation. *IEEE Access*, *14*, 25515–25536. https://ieeexplore.ieee.org/document/11373339\n- Forissier, T. (2024). *EVeilM: EVM bytecode obfuscation* [Master’s thesis, KTH Royal Institute of Technology]. DiVA Portal. https://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-359674\n- Gkioka, M. (2025). *Domain transfer via decompilation: Enhancing code LLMs’ performance for blockchain applications* [Master’s thesis, National and Kapodistrian University of Athens]. Pergamos. https://pergamos.lib.uoa.gr/uoa/dl/object/5296079\n- Lagouvardos, S., Bollanos, Y., Debono, M., Grech, N. \u0026 Smaragdakis, Y. (2025). *Precise static identification of Ethereum storage variables*. arXiv. https://doi.org/10.48550/arXiv.2503.20690\n- Lagouvardos, S., Bollanos, Y., Grech, N., \u0026 Smaragdakis, Y. (2025). *The incredible shrinking context…in a decompiler near you*. arXiv. https://doi.org/10.48550/arXiv.2409.11157\n- Liu, Y., Li, X., \u0026 Li, Y. (2025). *DeepTx: Real-time transaction risk analysis via multi-modal features and LLM reasoning*. arXiv. https://doi.org/10.48550/arXiv.2510.18438\n- Solmaz, O., Heimbach, L., Vonlanthen, Y., \u0026 Wattenhofer, R. (2025). *Optimistic MEV in Ethereum layer 2s: Why blockspace is always in demand*. arXiv. https://doi.org/10.48550/arXiv.2506.14768\n- Ye, M., Lin, X., Nan, Y., Wu, J., \u0026 Zheng, Z. (2024). Midas: Mining profitable exploits in on-chain smart contracts via feedback-driven fuzzing and differential analysis. In M. Christakis \u0026 M. Pradel (Eds.), *ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis* (pp. 794–805). Association for Computing Machinery. https://doi.org/10.1145/3650212.3680321\n\nIf you have used or plan to use Heimdall in your research, please reach out to me via [email](mailto:jonathan@jbecker.dev) or [Twitter](https://x.com/BeckerrJon)! I'd love to hear about what you're using heimdall for :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjon-becker%2Fheimdall-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjon-becker%2Fheimdall-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjon-becker%2Fheimdall-rs/lists"}