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

disasm: Detect output values #14

Merged
merged 29 commits into from
Jan 22, 2023
Merged

disasm: Detect output values #14

merged 29 commits into from
Jan 22, 2023

Conversation

shazow
Copy link
Owner

@shazow shazow commented Nov 3, 2022

Still in the research phase, trying to find a way to detect output sizes but that's looking harder than I hoped.

It looks like modern solidity wraps most outputs through a chain of jumps that prepares the data. It's going to be quite hard to do this with a single-pass static analysis.

Older solidity (e.g. WETH contract with v0.4.x) does a simpler return macro per function window, those aren't hard to detect but extracting sizing reliably still seems hard.

Issue #13

@shazow shazow mentioned this pull request Nov 3, 2022
@shazow shazow marked this pull request as draft November 4, 2022 14:59
@shazow shazow marked this pull request as ready for review January 5, 2023 20:01
@shazow
Copy link
Owner Author

shazow commented Jan 5, 2023

There's still some issues but it's probably good enough for an incremental release.

@shazow shazow changed the title [WIP] disasm: Detect output values disasm: Detect output values Jan 5, 2023
@shazow shazow merged commit b9170fc into main Jan 22, 2023
@shazow shazow mentioned this pull request Jan 22, 2023
4 tasks
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

Successfully merging this pull request may close these issues.

1 participant