heimdall-rs

Heimdall is an advanced EVM smart contract toolkit specializing in bytecode analysis and extracting information from unverified contracts.

MIT License

Stars
1K

Bot releases are visible (Hide)

heimdall-rs - 0.4.2

Published by Jon-Becker over 1 year ago

  • āœļø typo: in the "missing rpc" message by @qd-qd [ #82 ]
  • šŸ”§ fix: swap external call success variable, don't prune in postprocessing by @Jon-Becker
  • šŸ”§ fix: patch solidity repr of SHL, SHR, SAR by @Jon-Becker
  • šŸ”§ fix: update recursive_map loop detection by @Jon-Becker
  • āš”ļø perf: dedup ABI output in decompile module by @Jon-Becker
  • āš”ļø perf: simplify arithmetic in postprocessing with optimization by @Jon-Becker
  • šŸŽØ style: remove extra whitespace when simplifying arithmetic in postprocessing by @Jon-Becker
  • āœØ feat: add --explain option to decode module by @Jon-Becker
  • āš”ļø perf: clippy by @Jon-Becker
  • āš”ļø perf: break out of loops using normalized Levenshtein distance on cā€¦ by @Jon-Becker
  • āœØ feat: allow for yul output via --include-yul by @Jon-Becker
  • šŸ”§ fix: fatal decompilation bug causing missing functions and code by @Jon-Becker
  • šŸ”§ fix: Fix potential usize overflow analyzing CALLDATALOAD ops by @Jon-Becker
heimdall-rs - 0.4.1

Published by Jon-Becker over 1 year ago

What's Changed

  • šŸ”§ fix(postprocessing): replace full event signature with repr by @Jon-Becker
  • šŸ”§ fix: allow multi-chain dump with --chain <CHAIN> by @Jon-Becker
heimdall-rs - 0.4.0

Published by Jon-Becker over 1 year ago

What's Changed

New Contributors

heimdall-rs - 0.3.4

Published by Jon-Becker over 1 year ago

What's Changed

New Contributors

heimdall-rs - 0.3.3

Published by Jon-Becker over 1 year ago

What's Changed

heimdall-rs - 0.3.2

Published by Jon-Becker over 1 year ago

  • Exposes the decode module as a library method that can be used in your own code: decode_calldata(calldata: String). [ #60 ]
heimdall-rs - 0.3.1

Published by Jon-Becker over 1 year ago

  • Allows for the CFG module to work on any EVM contract. [ #59, #53 ]
  • Patches loop detection to be more thorough. [ #56 ]
  • Introduces the -c or --color-edges to the CFG module to colorize edges based on the JUMPI condition. This is useful for visualizing the flow of if statements. [ #59 ]
  • Minor memory optimizations. [ #59 ]
heimdall-rs - 0.3.0

Published by Jon-Becker over 1 year ago

  • Introduces the cfg module, which generates the control-flow graph for contract bytecode. [ #46 ]
  • Workspace improvements for contributors. [ #47 ]
  • Linting fixes & optimizations. [ #48, #50 ]
  • Remove regex backtracing for loop detection. Switch to symbolic stack loop detection (thanks plotchy), which both improves runtime and removes the branch limit of 1000. [ #51 ]
    • Fully resolves #30

    • Runtime reduced significantly.

heimdall-rs - 0.2.5

Published by Jon-Becker over 1 year ago

  • Major decompilation optimizations, reducing runtime exponentially. [ #45 ]
heimdall-rs - 0.2.4

Published by Jon-Becker almost 2 years ago

  • Fixes a panic on unwrapping invalid conditional. [ #40 ]
  • Fixes event resolution. [ #43 ]
heimdall-rs - 0.2.3

Published by Jon-Becker almost 2 years ago

  • Introduces the decompile library, which allows for use of heimdall-rs' decompile module in other rust projects. <@perama-v>
    • Documentation can be found in the wiki.
heimdall-rs - 0.2.1

Published by Jon-Becker almost 2 years ago

  • Limit branches to 1000 branches. This is a patch for backtrack limit exceeded, as well as infinite branch recursion. [ #30 ]
    • Requires further patching, but for now this will ensure all contracts can be partially decompiled. Functions will stop tracing for new branches when reaching the limit.
  • Implement natspec comments for deubgging
    • Argument natspec include potential types, in order of confidence.
heimdall-rs - 0.2.2

Published by Jon-Becker almost 2 years ago

  • Fixes an issue with unwrapping a None event when analyzing traces. [ #33 ]
heimdall-rs - 0.2.0

Published by Jon-Becker almost 2 years ago

  • Decompiled solidity output is enabled through optional flag --include-sol <@Jon-Becker>
  • Multithreaded signature lookup <@Jon-Becker>
  • Efficient event signature lookup <@danyalprout>
heimdall-rs - 0.1.8

Published by Jon-Becker almost 2 years ago

  • Fixes dependency issues with unstable features on ethers
heimdall-rs - 0.1.7

Published by Jon-Becker almost 2 years ago

  • This release includes improvements for bifrost, including:
    • New -B / --binary flag to install heimdall from a precompiled binary attached to each release.
heimdall-rs - 0.1.6

Published by Jon-Becker almost 2 years ago

  • This release includes improvements for bifrost, including:
    • New -u / --update flag to update the bifrost binary
    • New -b / --bench flag to run benchmarks
    • New -t / --test flag to run tests
    • Enables LTO on installation for improved perfomance. Slows compile time.
heimdall-rs - 0.1.5

Published by Jon-Becker about 2 years ago

  • This release introduces the decompile beta.
    • Supports generating contract ABI from bytecode for functions, events, and signatures.
    • The module will eventually support generating solidity from contract bytecode.
heimdall-rs - 0.1.4

Published by Jon-Becker about 2 years ago

  • Fixes a dependency issue
heimdall-rs - 0.1.3

Published by Jon-Becker over 2 years ago

  • fixes overlap with bytecode regex and account regex in the decode module