Skip to content
Reverse Engineering tool for Ethereum EVM
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ethre Change argument names + add --account option Jun 30, 2016
example Add ethre.py Jun 26, 2016
.gitignore Initial commit Jun 26, 2016
README.md Change argument names + add --account option Jun 30, 2016

README.md

ethRE

Reverse Engineering tool for Ethereum EVM. It is based on miasm and needs EVM architecture implementation https://github.com/jbcayrou/miasm/tree/evm

Example:

python ethre/ethre.py -x./example/in.hex -o ./mygraph.dot
xdot ./mygraph.dot

python ethre/ethre.py --account 0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae -o ./mygraph.dot

Features

  • Disassemble EVM bytecode from binary or from hexadecimal representation
  • Resolve simple JUMP/JUMPI (search PUSH xxxxx JUMP pattern)
  • Get bytecode from ethereum blockchain (--account argument)

TODO

  • Add support of text asm
  • Add Semantic analysis (need improve the miasm implementation)
  • Detect functions with contract ABI declaration
  • Execution with Miasm emulation
  • Contract execution replay
  • Pattern vulnerability detection
You can’t perform that action at this time.