日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oyente—合约漏洞检测工具安装

發(fā)布時間:2024/3/24 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oyente—合约漏洞检测工具安装 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

oyente—合約漏洞檢測工具安裝

  • 前言
  • 一、oyente是什么?
  • 二、安裝
    • 1.在docker安裝
    • 2.linux安裝
      • 1.首先就是裝依賴配置環(huán)境
    • 最后


前言

區(qū)塊鏈?zhǔn)墙鼛啄陙泶鬅岬捻椖?#xff0c;但是國內(nèi)有關(guān)的文獻(xiàn)文檔卻少之又少,最近學(xué)長讓安裝一個叫oyente的合約檢測工具,笑死根本找不到教程,上官方github看看安裝方法,用渣英文翻譯記錄下來,順便幾一些坑分享給之后有需要的人。
在本文中,我將演示如何在有docker和沒有docker的情況下安裝和使用Oyente。
同時這個是針對有一定基礎(chǔ)的教程,如果連docker和linux之類的都沒有安裝的話,建議去搜搜,這些目前在國內(nèi)資源很多,隨便都能搜到。
貼上參考資料這里、這里和這里需要科學(xué)上網(wǎng)。


一、oyente是什么?

區(qū)塊鏈交易通常采用加密貨幣。兩種最流行的加密貨幣,比特幣和以太坊,都支持對處理交易的規(guī)則或腳本進(jìn)行編碼的功能。最近,以太坊智能合約被穩(wěn)步采用。作為主要的智能合同語言,Solidity做的智能合約容易受到某些攻擊。
Oyente是一個智能合約自動審計工具,它能分析智能合約并返回可能的bug攻擊,包括著名的DAO攻擊之類的。它由新加坡國立大學(xué)的研究人員在2016年1月開發(fā)。您可以在這里參閱第23屆ACM CCS會議上提交的論文。
該工具是開源項目,支持4種漏洞的檢測,具體的如何使用相關(guān)信息使用方式可以參考github

二、安裝

在安裝前一定要注意,python的版本最好大于3.5,很多錯誤都是因為python的版本而出現(xiàn)的

1.在docker安裝

使用docker安裝是最簡單的方法,因為docker本身創(chuàng)建了運行Oyente所需的環(huán)境。

在docker中運行

sudo apt-get update sudo apt install docker.io docker pull luongnguyen/oyente docker run -i -t luongnguyen/Oyente

在容器中檢測合約,運行這個代碼:(這句話可能是這么翻譯,有點沒看懂貼上原文)

To evaluate the greeter contract inside the container, run

cd /oyente/oyente python oyente.py -s greeter.sol

結(jié)束。就這么簡單docker真的是個神器太喜歡了,可是我卻要用linux,還好有wsl可以救我
=-=

但每次評估新的智能合約時,都必須使用unix命令在容器中創(chuàng)建一個文件,然后運行最后一個命令。可以在docker容器中安裝vim,但創(chuàng)建和編輯文件仍然是一項繁忙的任務(wù)。

2.linux安裝

這里沒有做window的,大家可以了解一下WSL2真的很好用。

1.首先就是裝依賴配置環(huán)境

Solc
Geth and evm
Z3
python
web3
requests library

首先是python大多人都有吧,但是為了方便新手,還是加上python
這里只是最常見的python安裝方法,請一定根據(jù)你自己的系統(tǒng)版本找相應(yīng)教程安裝,不然之后你會很難受。

# sudo apt-get install python3.7 # sudo apt install python-pip # pip install virtualenv # sudo apt install vim

然后solc編譯器,用于寫solidity合約

$ sudo add-apt-repository ppa:ethereum/ethereum $ sudo apt-get update $ sudo apt-get install solc

evm 以太坊的虛擬機

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa:ethereum/ethereum $ sudo apt-get update $ sudo apt-get install ethereum

z3處理器,一個Theorem Prover(不知道怎么翻譯,反正就是幫助oyente進(jìn)行檢測的)工具

$ python scripts/mk_make.py --python $ cd build $ make $ sudo make install

request library 和 web3 library

pip install requests pip install web3

最后

pip2 install oyente

安裝完成
運行就不運行了。

總結(jié)

以上是生活随笔為你收集整理的oyente—合约漏洞检测工具安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。