Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SegmentationFault during decompilation #28

Open
tcimoli opened this issue Aug 30, 2017 · 1 comment
Open

SegmentationFault during decompilation #28

tcimoli opened this issue Aug 30, 2017 · 1 comment

Comments

@tcimoli
Copy link

tcimoli commented Aug 30, 2017

Hi,
trying to decompile a contract, the execution gives SegmentationFault.

Here is the output:

Porosity v0.1 (https://www.comae.io)
Matt Suiche, Comae Technologies <[email protected]>
The Ethereum bytecode commandline decompiler.
Decompiles the given Ethereum input bytecode and outputs the Solidity code.

Attempting to parse ABI definition...
Success.
[+] Hash: 0x09DFDC71 (currentPyramidBalanceApproximately) (1 references)
[+] Hash: 0x253459E3 (feesSeperateFromBalanceApproximately) (1 references)
[+] Hash: 0x4229616D (collectPercentOfFees) (1 references)
[+] Hash: 0x57D4021B (nextPayoutWhenPyramidBalanceTotalsApproximately) (1 references)
[+] Hash: 0x686F2C90 (collectAllFees) (1 references)
[+] Hash: 0x6FBAAA1E (currentMultiplier) (1 references)
[+] Hash: 0x8A5FB3CA (currentFeePercentage) (1 references)
[+] Hash: 0x9DBC4F9B (participantDetails) (1 references)
[+] Hash: 0xA26DBF26 (totalParticipants) (1 references)
[+] Hash: 0xA6F9DAE1 (changeOwner) (1 references)
[+] Hash: 0xB4022950 (collectFeesInEther) (1 references)
[+] Hash: 0xCED92670 (changeMultiplier) (1 references)
[+] Hash: 0xD11F13DF (numberOfParticipantsWaitingForPayout) (1 references)
[+] Hash: 0xFAE14192 (changeFeePercentage) (1 references)
Now performing decompilation: 
Porosity v0.1 (https://www.comae.io)
Matt Suiche, Comae Technologies <[email protected]>
The Ethereum bytecode commandline decompiler.
Decompiles the given Ethereum input bytecode and outputs the Solidity code.

Attempting to parse ABI definition...
Success.
Hash: 0x09DFDC71
executeInstruction: NOT_IMPLEMENTED: CODECOPY
function currentPyramidBalanceApproximately() {
      memory[0x40] = 0x20 + 0x40;
      memory[0x40] = 0x40 + 0x100;
}


LOC: 4
Hash: 0x253459E3
function feesSeperateFromBalanceApproximately() {
      store_1 = store_1 / 0xDE0B6B3A7640000;
      return store_1;
}


LOC: 4
Hash: 0x4229616D
./decompile.sh: line 16:  6234 Segmentation fault      (core dumped) ../porosity --code $bin --abi $abi --decompile --verbose 0

See the attached files
dynPyr.zip

@UnSciPreneur
Copy link
Contributor

Hi,
same problem here even with the example contract provided:

porosity --abi $abi --code $code --decompile --verbose 1
Porosity v0.1 (https://www.comae.io)
Matt Suiche, Comae Technologies <[email protected]>
The Ethereum bytecode commandline decompiler.
Decompiles the given Ethereum input bytecode and outputs the Solidity code.

Attempting to parse ABI definition...
Success.
Hash: 0x5FD8C710
executeInstruction: NOT_IMPLEMENTED: REVERT
executeInstruction: NOT_IMPLEMENTED: REVERT
executeInstruction: NOT_IMPLEMENTED: REVERT
executeInstruction: NOT_IMPLEMENTED: REVERT
executeInstruction: NOT_IMPLEMENTED: REVERT
executeInstruction: NOT_IMPLEMENTED: REVERT
executeInstruction: NOT_IMPLEMENTED: REVERT
executeInstruction: NOT_IMPLEMENTED: REVERT
function withdrawBalance() {
      if (!msg.value) {
      }
      if (msg.sender.call.gas(4369).value()()) {
         store[msg.sender] = 0x0;
      }
      store[msg.sender] = 0x0;
}

L5 (D8193): Potential reentrant vulnerability found.

L7 (D8193): Potential reentrant vulnerability found.

LOC: 8
Hash: 0xC0E317FB
executeInstruction: NOT_IMPLEMENTED: REVERT
function addToBalance() {
      if (!msg.value) {
      }
      store[msg.sender] = store[msg.sender] + msg.value;
      return;
}

L4 (D8193): Potential reentrant vulnerability found.

LOC: 6
Hash: 0xF8B2CB4F
executeInstruction: NOT_IMPLEMENTED: REVERT
Segmentation fault (core dumped)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants