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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

disasm: Guess function arguments #9

Open
shazow opened this issue Oct 5, 2022 · 0 comments
Open

disasm: Guess function arguments #9

shazow opened this issue Oct 5, 2022 · 0 comments

Comments

@shazow
Copy link
Owner

shazow commented Oct 5, 2022

... without just looking up the sighash on a 4byte database. 馃槄

I don't have a great idea of how to do this without symbolic execution. I'd like to keep whatsabi to static analysis in O(nlogn) runtime per number of instructions.

My gut feel is that the process to approach this:

  1. Try to guess the total expected calldata size, or even number of arguments
  2. Might help if we can figure out the bytecode boundaries for each function? (are JUMPI table to JUMPDEST mappings contiguous?)
  3. Figure out the expected byte size of each argument, if any?

I think that's as far as we can get without tracking a non-fixed stack depth.

Related project: ethb3rlin/find-a-team#32

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

1 participant