From 38a987dfb9d74da424cd84c6f979cb1bfdf5c455 Mon Sep 17 00:00:00 2001 From: shuo-young <2857043555@qq.com> Date: Thu, 25 Jan 2024 21:12:40 +0800 Subject: [PATCH] add readme --- README.md | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 32cb8e1..a756ae2 100644 --- a/README.md +++ b/README.md @@ -7,16 +7,40 @@ An Attacker Contract Identification Tool Implemented in Rust based on BlockWatch ## Quick Start -```shell -RUST_LOG=info cargo run -- ETH 0x10C509AA9ab291C76c45414e7CdBd375e1D5AcE8 -``` +### Rust Environment + +Before running Lydia, you need to have the Rust environment set up. + +### Gigahorse Environment + +Lydia requires Gigahorse to be set up for analyzing Ethereum bytecode. To set up Gigahorse, refer to its [repository](https://github.com/nevillegrech/gigahorse-toolchain) ## Run ### Local +To run Lydia locally, use the following command: + +```shell +RUST_LOG=info cargo run -- ETH 0x10C509AA9ab291C76c45414e7CdBd375e1D5AcE8 +``` + +Replace the address of the contract you want to analyze. Contracts on other platforms (e.g., BSC) are also supported. + ### Docker +To build and run Lydia using Docker, use the following commands: + ```shell docker build -t lydia:v1.0 . ``` + +Run with the following command: + +```shell +docker run lydia:v1.0 ETH 0x10C509AA9ab291C76c45414e7CdBd375e1D5AcE8 +``` + +## Publication + +Based on _*BlockWatchdog*_, the ICSE'24 paper: Uncover the Premeditated Attacks: Detecting Exploitable Reentrancy Vulnerabilities by Identifying Attacker Contracts.