Skip to content

jbcayrou/ethRE

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
June 26, 2016 11:55
June 26, 2016 11:50

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

About

Reverse Engineering tool for Ethereum EVM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages