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

[Bug]: function parameters amount error #166

Open
2 tasks done
justforfunya opened this issue Nov 9, 2023 · 1 comment
Open
2 tasks done

[Bug]: function parameters amount error #166

justforfunya opened this issue Nov 9, 2023 · 1 comment
Assignees
Labels
A-symbolic-execution Area: symbolic execution C-decompile Command: decompile D-hard Difficulty: hard P-normal Priority: normal T-bug Type: bug

Comments

@justforfunya
Copy link

justforfunya commented Nov 9, 2023

Component

Decompile Module

Version

0.6.4

Please check the following

  • This is not a duplicate issue
  • I have checked the wiki and tried troubleshooting the issue

Operating System

Linux

Command used to produce the issue

heimdall decompile 0x05f016765c6C601fd05a10dBa1AbE21a04F924A5 -vvv -d --include-sol --skip-resolving

Describe the issue you are facing

this is heimdall decompiled result which is wrong

/// @Custom:selector 0xf6ebebbb
/// @Custom:name Unresolved_f6ebebbb
/// @param arg0 ["bytes", "uint256", "int256", "string", "bytes32", "uint", "int"]
/// @param arg1 ["bytes", "uint256", "int256", "string", "bytes32", "uint", "int"]
/// @param arg2 ["address", "bytes", "bytes20", "bytes32", "int", "int160", "int256", "string", "uint", "uint160", "uint256"]
/// @param arg3 ["address", "bytes", "bytes20", "bytes32", "int", "int160", "int256", "string", "uint", "uint160", "uint256"]
function Unresolved_f6ebebbb(bytes memory arg0, bytes memory arg1, address arg2, address arg3) public pure {
require(arg2 == (address(arg2)));
if (arg3 == (address(arg3))) {
}
}

this is from https://contract-library.com/ethereum/address/0x05f016765c6c601fd05a10dba1abe21a04f924a5/decompiled which is correct:

function 0xf6ebebbb(uint256 varg0, uint256 varg1, address varg2, address varg3, address varg4, uint32 varg5, uint128 varg6) public nonPayable {
require(msg.data.length - 4 >= 224);
require(varg2 == varg2);
require(varg3 == varg3);
require(varg4 == varg4);
require(varg5 == varg5);
require(varg6 == varg6);
v0 = 0x1ed2(varg6, varg5, varg4, varg3, varg2, varg1, varg0);
return v0;
}

@justforfunya justforfunya changed the title [Bug]: function paramters amount error [Bug]: function parameters amount error Nov 9, 2023
@Jon-Becker Jon-Becker removed the T: Bug label Nov 12, 2023
@Jon-Becker
Copy link
Owner

Hey, thanks for raising this! I'll take a look, it's probably an issue with symbolic execution.

@Jon-Becker Jon-Becker self-assigned this Nov 12, 2023
@Jon-Becker Jon-Becker added A-symbolic-execution Area: symbolic execution C-decompile Command: decompile D-hard Difficulty: hard P-normal Priority: normal T-bug Type: bug labels Nov 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-symbolic-execution Area: symbolic execution C-decompile Command: decompile D-hard Difficulty: hard P-normal Priority: normal T-bug Type: bug
Projects
None yet
Development

No branches or pull requests

2 participants