oyente
oyente copied to clipboard
Exception on binary contract
Running latest Oyente on contract: https://etherscan.io/address/0xae98b0e0c112b6d85ba32ff521b051f3fb2bafab#code extracted binary via etherscan API: 0xae98b0e0c112b6d85ba32ff521b051f3fb2bafab.txt
Many other contracts pass this way.
cmd
docker start oyente_cont && docker exec -i oyente_cont python /oyente/oyente/oyente.py --compilation-error --depthlimit 4 --looplimit 100 -s 0xae98b0e0c112b6d85ba32ff521b051f3fb2bafab.txt -b
fails with:
WARNING:root:You are using evm version 1.8.2. The supported version is 1.7.3
WARNING:root:You are using solc version 0.4.21, The latest supported version is 0.4.19
incomplete push instruction at 13234
INFO:symExec: ============ Results ===========
INFO:symExec: EVM Code Coverage: 0.9%
Traceback (most recent call last):
File "/oyente/oyente/oyente.py", line 221, in <module>
main()
File "/oyente/oyente/oyente.py", line 210, in main
exit_code = analyze_bytecode()
File "/oyente/oyente/oyente.py", line 72, in analyze_bytecode
result, exit_code = symExec.run(disasm_file=inp['disasm_file'])
File "/oyente/oyente/symExec.py", line 2458, in run
ret = detect_vulnerabilities()
File "/oyente/oyente/symExec.py", line 2280, in detect_vulnerabilities
detect_callstack_attack()
File "/oyente/oyente/symExec.py", line 2201, in detect_callstack_attack
pcs = check_callstack_attack(instr)
File "/oyente/oyente/symExec.py", line 2170, in check_callstack_attack
swap_num = int(disasm[i+1][2])
ValueError: invalid literal for int() with base 10: ''