FuzzingLabs / aleovera

Aleo analyzer and disassembler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AleoVera, the aleo bytecode analyzer and disassembler

AleoVera is an Aleo analyzer & disassembler written in Python 3. AleoVera's features also include the generation of the call graph of a given Aleo compilation artifact (.avm).

Installation

sudo apt install graphviz

git clone https://github.com/FuzzingLabs/ALeoVera && cd AleoVera

pip install .

aleovera -h

Disassemble the contract's compilation artifact (AVM)

aleo new foo
cd foo
aleo build
aleovera -f ./build/main.avm

Example :

aleovera -f tests/finalize/build/main.avm -color

Print the contract's call graph

The call flow graph represents calling relationships between functions, imported functions and closures of the contract.

 python3 main.py -f tests/multiple_calls/build/main.avm -c


F.A.Q

How to run the tests?

python3 tests/test.py

How to build the documentation?

# Install sphinx
apt-get install python3-sphinx

#Create the docs folder
mkdir docs & cd docs

#Init the folder
sphinx-quickstart docs

#Modify the `conf.py` file by adding
import aleovera

#Generate the .rst files before the .html files
sphinx-apidoc -f -o . ..

#Generate the .html files
make html

#Run a python http server
cd _build/html; python3 -m http.server

License

AleoVera is licensed and distributed under the AGPLv3 license. Contact us if you're looking for an exception to the terms.

About

Aleo analyzer and disassembler

License:GNU Affero General Public License v3.0


Languages

Language:Python 100.0%