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

Additional parameters in function check_for_offset from csplit binary (coreutils) #4998

Open
Atipriya opened this issue Oct 22, 2024 · 0 comments
Labels
bug Something is broken needs-triage Issue has yet to be looked at by a maintainer

Comments

@Atipriya
Copy link
Contributor

Description

Hello!

There are 3 args in source code for this function but the disassembly and decompiled code has 6.

some observations:

  • Callsite facts.args returns 4 registers rdi, rsi, rdx, rcx

  • Variable manager seems to return rdi, rsi, rdx, and r9 as accessed registers but r9 doesn't seem to be used in disassembly
    and then _redorder_args update the argument list from rdi to r9 making it 6.
    I think by fixing r9 we can get the number down to 4 from 6.

https://github.com/angr/angr/blob/master/angr/analyses/calling_convention.py#L713

https://github.com/angr/angr/blob/master/angr/analyses/calling_convention.py#L340

csplit binary: binaries.zip

Steps to reproduce the bug

No response

Environment

No response

Additional context

No response

@Atipriya Atipriya added bug Something is broken needs-triage Issue has yet to be looked at by a maintainer labels Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is broken needs-triage Issue has yet to be looked at by a maintainer
Projects
None yet
Development

No branches or pull requests

1 participant