{"repo":"ucsb-seclab/greed","free":true,"listed":false,"github":"https://github.com/ucsb-seclab/greed","clone":"git clone https://github.com/ucsb-seclab/greed.git","description":"A symbolic execution engine for EVM smart contract binaries.","language":"Python","stars":122,"topics":["binary-analysis","exploit-development","smart-contracts","symbolic-execution"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"greed ) ⚡️ Installation 🚀 Usage First, the contract needs to be pre-processed with gigahorse . This can be done in two ways: Then, to use greed in your python project: Or to run greed from the command line: 🚦 Testing 🧱 Architecture Offline representation Project : calls the TAC Parser to parse functions, blocks, and statements from Gigahorse Factory : used to access several objects Function(s) : contain blocks + an intra-procedural CFG Block(s) : contain statements Statement(s) : represent TAC operations. Every statement has a .handle(state) method that given a state applies such operations to derive its successors Runtime representation SimulationManager : stores and manages states in \"stashes\" State(s) : hold the transaction context at every step Storage : symbolic modulo 2^256 store Memory : symbolic modulo 2^256 store Registers : symbolic modulo 2^256 store 🎓 Academia If you are using greed for an academic publication, we would really appreciate a citation to the following work:","default_branch":null,"files":null,"tree":[],"storefront":"/r/ucsb-seclab","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ucsb-seclab/greed/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}