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

Feature: Set value of global register #3223

Closed
CouleeApps opened this issue Jun 27, 2022 · 1 comment
Closed

Feature: Set value of global register #3223

CouleeApps opened this issue Jun 27, 2022 · 1 comment
Assignees
Labels
Component: Architecture Issue needs changes to an architecture plugin Core: MLIL Issue involves Medium Level IL Effort: Low Issue should take < 1 week Impact: Medium Issue is impactful with a bad, or no, workaround Type: Enhancement Issue is a small enhancement to existing functionality
Milestone

Comments

@CouleeApps
Copy link
Member

What is the feature you'd like to have?
On some architectures (eg PPC), certain registers are considered "Global" (eg r2) and are not considered by dataflow. There should be a way to set these registers to a constant value at the start of a function, considering they do not have variables created which you can use Set User Variable Value on.

Is your feature request related to a problem?
I wanted to reverse a PPC binary and my HLIL is full of -1234(r2) with no way to tell binja what r2 should be.

Are any alternative solutions acceptable?
Could do a more general approach of "set any register to a PossibleValueSet at start of function"

Additional Information:
Binary available upon request

@CouleeApps CouleeApps added Type: Enhancement Issue is a small enhancement to existing functionality Component: Architecture Issue needs changes to an architecture plugin Core: MLIL Issue involves Medium Level IL Impact: Low Issue is a papercut or has a good, supported workaround and removed Impact: Low Issue is a papercut or has a good, supported workaround labels Jun 27, 2022
@plafosse plafosse added Effort: Low Issue should take < 1 week Impact: Medium Issue is impactful with a bad, or no, workaround labels Jun 29, 2022
@CouleeApps CouleeApps added Component: Architectures and removed Component: Architecture Issue needs changes to an architecture plugin labels May 9, 2023
@fuzyll fuzyll added Component: Architecture Issue needs changes to an architecture plugin and removed Component: Architectures labels May 17, 2023
@fuzyll fuzyll added this to the Frogstar milestone Nov 6, 2024
@fuzyll
Copy link
Contributor

fuzyll commented Nov 6, 2024

This was completed at some point between 4.1 and 4.2, although we currently only allow a single global register. Support for multiple is tracked now by #6096.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Architecture Issue needs changes to an architecture plugin Core: MLIL Issue involves Medium Level IL Effort: Low Issue should take < 1 week Impact: Medium Issue is impactful with a bad, or no, workaround Type: Enhancement Issue is a small enhancement to existing functionality
Projects
None yet
Development

No branches or pull requests

4 participants