diff --git a/README.md b/README.md index b86e2b79..10c34935 100644 --- a/README.md +++ b/README.md @@ -28,23 +28,26 @@ Note - If need the [version of Oyente](https://github.com/melonproject/oyente/tr ## Installation -To install Oyente, simply: +Install Oyente via pip: ``` -$ pip install oyente +$ pip2 install oyente ``` +Dependencies: +[solc](https://github.com/melonproject/oyente#solc) +[evm](https://github.com/melonproject/oyente#evm-from-go-ethereum) -## Full install +## Full installation ### Install the following dependencies -#### solc version 0.4.13 +#### solc ``` $ sudo add-apt-repository ppa:ethereum/ethereum $ sudo apt-get update $ sudo apt-get install solc ``` -#### evm from [go-ethereum](https://github.com/ethereum/go-ethereum) version 1.6.1. +#### evm from [go-ethereum](https://github.com/ethereum/go-ethereum) 1. https://geth.ethereum.org/downloads/ or 2. By from PPA if your using Ubuntu diff --git a/oyente/oyente.py b/oyente/oyente.py index 851714b8..7fc3e46c 100755 --- a/oyente/oyente.py +++ b/oyente/oyente.py @@ -126,7 +126,7 @@ def main(): group.add_argument("-ru", "--remoteURL", type=str, help="Get contract from remote URL. Solidity by default. Use -b to process evm instead.", dest="remote_URL") - parser.add_argument("--version", action="version", version="oyente version 0.2.5-Buona Vista") + parser.add_argument("--version", action="version", version="oyente version 0.2.7 - Commonwealth") parser.add_argument( "-b", "--bytecode", help="read bytecode in source instead of solidity file.", action="store_true") diff --git a/oyente/symExec.py b/oyente/symExec.py index 059748bc..6623a6c9 100755 --- a/oyente/symExec.py +++ b/oyente/symExec.py @@ -2045,6 +2045,9 @@ def detect_money_concurrency(): is_false_positive(i-1, j, all_gs, path_conditions) and \ is_false_positive(j, i-1, all_gs, path_conditions): false_positive.append([i-1, j]) + break + if flows: + break if source_map: s = "" @@ -2069,7 +2072,8 @@ def detect_money_concurrency(): s += "^" if s: any_bug = True - s = "Money concurrency bug:
" + "
" + s + "
" + if global_params.WEB: + s = "Money concurrency bug:
" + "
" + s + "
" results["money_concurrency"] = s s = "\t Money concurrency bug: True" + s if s else "\t Money concurrency bug: False" log.info(s) diff --git a/setup.py b/setup.py index fb8771fd..2cc38548 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='oyente', - version='0.2.6', + version='0.2.7', author='Loi Luu', # author_email='', url='https://github.com/melonport/oyente', @@ -35,5 +35,6 @@ install_requires=[ 'requests', 'web3', + 'z3-solver' ] )