Skip to content

Commit

Permalink
update README
Browse files Browse the repository at this point in the history
  • Loading branch information
Slava0135 committed Oct 7, 2024
1 parent 3e9c70b commit 61f9142
Showing 1 changed file with 39 additions and 6 deletions.
45 changes: 39 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,49 @@

Differential fuzzing for Neo (N3) blockchain virtual machine based on LibAFL

## Status
## Install

IN DEVELOPMENT
Clone repository:

## Usage
```sh
git clone --recursive https://github.com/Slava0135/N3onDiff
```

Install dependencies:

Install Rust (nightly) using `rustup`
- neo-go
- make
- go 1.22+
- neo
- dotnet-sdk 8.0
- aspnet-runtime 8.0
- N3onDiff
- make
- rust 1.80+ (__nightly__)

## Usage

```sh
git clone --recursive https://github.com/Slava0135/N3onDiff
make
cargo run
cargo run --release
```

Scripts with issues (different output) will be put into `./crashes`.

File names are base64 encoded scripts (using URL alphabet - __not valid for VM__!!!).

Contents of these files are __NOT__ valid script bytes (they are used internally by LibAFL for serialization).

Instead, find `*.metadata` files, where outputs for both VMs are saved and encoded base64 script can be found (and more info in the future).

## Found issues

In case you found new VM bugs using this fuzzer, __please__ make an issue and add the link here!

- [MODMUL operation returns wrong results for negative numbers](https://github.com/nspcc-dev/neo-go/issues/3598)

## License

Licensed under "Mozilla Public License Version 2.0"

Copyright (c) 2024 Vyacheslav Kovalevsky

0 comments on commit 61f9142

Please sign in to comment.