From ad2a75ac58ddcb06316f68d0fdaa8e80828a990c Mon Sep 17 00:00:00 2001 From: Christoph Jentzsch Date: Thu, 23 Oct 2014 16:05:49 +0200 Subject: [PATCH] Added new recursive bombs --- vmtests/vmIOandFlowOperationsTest.json | 42 ++++ vmtests/vmPushDupSwapTest.json | 42 ++++ vmtests/vmSystemOperationsTest.json | 280 ++++++++++++++++++++++++- 3 files changed, 363 insertions(+), 1 deletion(-) diff --git a/vmtests/vmIOandFlowOperationsTest.json b/vmtests/vmIOandFlowOperationsTest.json index c5034754a..b7b1699ae 100644 --- a/vmtests/vmIOandFlowOperationsTest.json +++ b/vmtests/vmIOandFlowOperationsTest.json @@ -424,6 +424,48 @@ } } }, + "jumpi2" : { + "callcreates" : [ + ], + "env" : { + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "256", + "currentGasLimit" : "1000000", + "currentNumber" : "0", + "currentTimestamp" : "1", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "exec" : { + "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff596002600357", + "data" : "0x", + "gas" : "10000", + "gasPrice" : "100000000000000", + "origin" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "value" : "1000000000000000000" + }, + "gas" : "9997", + "out" : "0x", + "post" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff596002600357", + "nonce" : "0", + "storage" : { + } + } + }, + "pre" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff596002600357", + "nonce" : "0", + "storage" : { + } + } + } + }, "mloadError0" : { "callcreates" : [ ], diff --git a/vmtests/vmPushDupSwapTest.json b/vmtests/vmPushDupSwapTest.json index f7fcb335d..04609f521 100644 --- a/vmtests/vmPushDupSwapTest.json +++ b/vmtests/vmPushDupSwapTest.json @@ -1202,6 +1202,48 @@ } } }, + "push1_missingStack" : { + "callcreates" : [ + ], + "env" : { + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "256", + "currentGasLimit" : "1000000", + "currentNumber" : "0", + "currentTimestamp" : "1", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "exec" : { + "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "code" : "0x60", + "data" : "0x", + "gas" : "10000", + "gasPrice" : "100000000000000", + "origin" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "value" : "1000000000000000000" + }, + "gas" : "9999", + "out" : "0x", + "post" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "0x60", + "nonce" : "0", + "storage" : { + } + } + }, + "pre" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "0x60", + "nonce" : "0", + "storage" : { + } + } + } + }, "push2" : { "callcreates" : [ ], diff --git a/vmtests/vmSystemOperationsTest.json b/vmtests/vmSystemOperationsTest.json index 920cb2331..a2dd1d1c4 100644 --- a/vmtests/vmSystemOperationsTest.json +++ b/vmtests/vmSystemOperationsTest.json @@ -127,6 +127,134 @@ } } }, + "ABAcalls2" : { + "callcreates" : [ + { + "data" : "0x", + "destination" : "945304eb96065b2a98b57a48a06ae28d285a71b5", + "gasLimit" : "9999999998768", + "value" : "1" + } + ], + "env" : { + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "256", + "currentGasLimit" : "10000000", + "currentNumber" : "0", + "currentTimestamp" : "1", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "exec" : { + "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "code" : "0x6001600056016000576000600060006000600173945304eb96065b2a98b57a48a06ae28d285a71b56103e85c03f1", + "data" : "0x", + "gas" : "10000000000000", + "gasPrice" : "100000000000000", + "origin" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "value" : "100000" + }, + "gas" : "1003475", + "out" : "0x", + "post" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "999999999999999488", + "code" : "0x6001600056016000576000600060006000600173945304eb96065b2a98b57a48a06ae28d285a71b56103e85c03f1", + "nonce" : "0", + "storage" : { + "0x" : "0x01" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "512", + "code" : "0x60016000560160005760006000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e85c03f1", + "nonce" : "0", + "storage" : { + "0x" : "0x0200" + } + } + }, + "pre" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "0x6001600056016000576000600060006000600173945304eb96065b2a98b57a48a06ae28d285a71b56103e85c03f1", + "nonce" : "0", + "storage" : { + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0", + "code" : "0x60016000560160005760006000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e85c03f1", + "nonce" : "0", + "storage" : { + } + } + } + }, + "ABAcalls3" : { + "callcreates" : [ + { + "data" : "0x", + "destination" : "945304eb96065b2a98b57a48a06ae28d285a71b5", + "gasLimit" : "998768", + "value" : "1" + } + ], + "env" : { + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "256", + "currentGasLimit" : "10000000", + "currentNumber" : "0", + "currentTimestamp" : "1", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "exec" : { + "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "code" : "0x6001600056016000576000600060006000600173945304eb96065b2a98b57a48a06ae28d285a71b56103e85c03f1", + "data" : "0x", + "gas" : "1000000", + "gasPrice" : "100000000000000", + "origin" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "value" : "100000" + }, + "gas" : "864457", + "out" : "0x", + "post" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1024558", + "code" : "0x6001600056016000576000600060006000600173945304eb96065b2a98b57a48a06ae28d285a71b56103e85c03f1", + "nonce" : "0", + "storage" : { + "0x" : "0x01" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "442", + "code" : "0x60016000560160005760006000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e85c03f1", + "nonce" : "0", + "storage" : { + "0x" : "0x01b9" + } + } + }, + "pre" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1025000", + "code" : "0x6001600056016000576000600060006000600173945304eb96065b2a98b57a48a06ae28d285a71b56103e85c03f1", + "nonce" : "0", + "storage" : { + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0", + "code" : "0x60016000560160005760006000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e85c03f1", + "nonce" : "0", + "storage" : { + } + } + } + }, "ABAcallsSuicide0" : { "callcreates" : [ { @@ -239,7 +367,7 @@ } } }, - "CallRecursiveBomb" : { + "CallRecursiveBomb0" : { "callcreates" : [ { "data" : "0x", @@ -303,6 +431,156 @@ } } }, + "CallRecursiveBomb1" : { + "callcreates" : [ + { + "data" : "0x", + "destination" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "gasLimit" : "364267", + "value" : "0" + } + ], + "env" : { + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "256", + "currentGasLimit" : "10000000", + "currentNumber" : "0", + "currentTimestamp" : "1", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "exec" : { + "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "data" : "0x", + "gas" : "364723", + "gasPrice" : "1", + "origin" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "value" : "100000" + }, + "gas" : "104246", + "out" : "0x", + "post" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "20000000", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "nonce" : "0", + "storage" : { + "0x" : "0x03fe", + "0x01" : "0x01" + } + } + }, + "pre" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "20000000", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "nonce" : "0", + "storage" : { + } + } + } + }, + "CallRecursiveBomb2" : { + "callcreates" : [ + { + "data" : "0x", + "destination" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "gasLimit" : "364268", + "value" : "0" + } + ], + "env" : { + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "256", + "currentGasLimit" : "10000000", + "currentNumber" : "0", + "currentTimestamp" : "1", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "exec" : { + "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "data" : "0x", + "gas" : "364724", + "gasPrice" : "1", + "origin" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "value" : "100000" + }, + "gas" : "104551", + "out" : "0x", + "post" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "20000000", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "nonce" : "0", + "storage" : { + "0x" : "0x03ff", + "0x01" : "0x01" + } + } + }, + "pre" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "20000000", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "nonce" : "0", + "storage" : { + } + } + } + }, + "CallRecursiveBomb3" : { + "callcreates" : [ + { + "data" : "0x", + "destination" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "gasLimit" : "999544", + "value" : "0" + } + ], + "env" : { + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "256", + "currentGasLimit" : "10000000", + "currentNumber" : "0", + "currentTimestamp" : "1", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "exec" : { + "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "caller" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "data" : "0x", + "gas" : "1000000", + "gasPrice" : "1", + "origin" : "cd1722f3947def4cf144679da39c4c32bdc35681", + "value" : "100000" + }, + "gas" : "104551", + "out" : "0x", + "post" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "20000000", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "nonce" : "0", + "storage" : { + "0x" : "0x03ff", + "0x01" : "0x01" + } + } + }, + "pre" : { + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "20000000", + "code" : "0x600160005601600057600060006000600060003060e05c03f1600157", + "nonce" : "0", + "storage" : { + } + } + } + }, "CallToNameRegistrator0" : { "callcreates" : [ {