├── .github ├── dependabot.yml └── workflows │ └── pip-audit.yml ├── .gitignore ├── LICENSE ├── README.md ├── ethersplay ├── __init__.py ├── analysis.py ├── common.py ├── coverage.py ├── evm.py ├── evmvisitor.py ├── flowgraph.py ├── patches.py └── plugin.json ├── examples ├── recurse.evm ├── recurse.sol ├── test.asm.json ├── test.evm └── test.sol ├── images ├── cfg_after.png ├── cfg_before.png ├── evm_header.png └── example.png ├── requirements.txt └── utils └── convert_bytecode.py /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/pip-audit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/.github/workflows/pip-audit.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/README.md -------------------------------------------------------------------------------- /ethersplay/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/ethersplay/__init__.py -------------------------------------------------------------------------------- /ethersplay/analysis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/ethersplay/analysis.py -------------------------------------------------------------------------------- /ethersplay/common.py: -------------------------------------------------------------------------------- 1 | ADDR_SIZE = 32 2 | -------------------------------------------------------------------------------- /ethersplay/coverage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/ethersplay/coverage.py -------------------------------------------------------------------------------- /ethersplay/evm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/ethersplay/evm.py -------------------------------------------------------------------------------- /ethersplay/evmvisitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/ethersplay/evmvisitor.py -------------------------------------------------------------------------------- /ethersplay/flowgraph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/ethersplay/flowgraph.py -------------------------------------------------------------------------------- /ethersplay/patches.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/ethersplay/patches.py -------------------------------------------------------------------------------- /ethersplay/plugin.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/ethersplay/plugin.json -------------------------------------------------------------------------------- /examples/recurse.evm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/examples/recurse.evm -------------------------------------------------------------------------------- /examples/recurse.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/examples/recurse.sol -------------------------------------------------------------------------------- /examples/test.asm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/examples/test.asm.json -------------------------------------------------------------------------------- /examples/test.evm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/examples/test.evm -------------------------------------------------------------------------------- /examples/test.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/examples/test.sol -------------------------------------------------------------------------------- /images/cfg_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/images/cfg_after.png -------------------------------------------------------------------------------- /images/cfg_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/images/cfg_before.png -------------------------------------------------------------------------------- /images/evm_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/images/evm_header.png -------------------------------------------------------------------------------- /images/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/images/example.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pyevmasm 2 | interval3 3 | evm-cfg-builder>=0.2.0 -------------------------------------------------------------------------------- /utils/convert_bytecode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/ethersplay/HEAD/utils/convert_bytecode.py --------------------------------------------------------------------------------