evm_cfg_builder
evm_cfg_builder copied to clipboard
EVM CFG recovery
Here is a simple contract: ```solidity // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0
Add unit tests Replace #34 Partially fix #31 There are still missing branches on our examples. We need to improve our tests and continue the improvements of the overall codebase
When used with slyther and and a solidity version
Currently, evm-cfg-builder does not read correctly a file with bytecode that does not start with `0x`, we should improve this
The dispatcher recovery won't currently work for vyper
From time to time the VSA is lost and is not able to retrieve the jump destination (error message `Missing branches`). We need to investigate why it happens and how...
We should document, implement and test the different dispatcher strategies used by solc, from 0.4 to the latest versions, including with or without optimization https://github.com/crytic/evm_cfg_builder/issues/27 is an example of dispatcher...
## Task Description We should have a [Ghidra](https://github.com/NationalSecurityAgency/ghidra) plugin for evm-cfg-builder. ## Acceptance criteria - [ ] An evm file can be loaded in Ghidra - [ ] The CFG...
Using [LNOToken.evm](https://github.com/trailofbits/evm_cfg_builder/files/2435010/LNOToken.evm.txt) which corresponds to the compiled version of the LinoToken in [LNOToken.sol](https://github.com/trailofbits/evm_cfg_builder/files/2435011/LNOToken.sol.txt) results in no functions processed: ``` g@g:~/Code/evm_cfg_builder$ python evm_cfg_builder/cfg_builder.py ~/Projects/zoo/LNOToken.evm End of analysis ```