智能合约漏洞检测工具-WANA使用文档
12.1.2.2. WANA的安装
12.1.2.2.1. 所需依赖
WANA采用python开发,需要在使用前自行下载如下python包。
six==1.14.0
pip3 install six=1.14.0
func_timeout==4.3.5
pip3 install func_timeout=4.3.5
z3-solver==4.8.8.0
pip3 install z3-solver==4.8.8.0
【1】以上命令中 pip3 install func_timeout=4.3.5 执行错误,原因是文档描述错误。
解决办法:
以上命令中 pip3 install func_timeout==4.3.5 执行成功。
【2】安装以上依赖后仍然执行失败,错误提示:
python3 wana.py -r -e fact.wasm
Traceback (most recent call last):
File "/Users/release/test/rust-contract-detection-tool/tool/wana.py", line 27, in
import sym_exec
File "/Users/release/test/rust-contract-detection-tool/tool/sym_exec.py", line 46, in
from memory_profiler import profile
解决办法:
安装依赖:
pip3 install memory_profiler
安装以后执行成功:
python3 wana.py -r -e fact.wasm -t 20
2023/02/09 10:58:05 Start detect Smart Contract fact
2023/02/09 10:58:05 Smart Contract = fact
2023/02/09 10:58:09 Undefined error: unreachable
2023/02/09 10:58:14 Undefined error: unreachable
2023/02/09 10:58:14 use time: 9.43055729099433