Provide an option to display bit shifts as multiplication or division
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- reverse-engineering
Research direction
The issue names no file or test; begin by locating the IL shift node and the interactive operation-display entry point in the Binary Ninja API. Define the expected per-operation behavior for left and right shifts, verify that it is not global, and check the intended interaction with workflow-based changes and #3931.
Written by the indexing model from the issue text.
Description
What is the feature you'd like to have?
I'd like to be able to change the display of variable << 3 to variable * 8 at certain locations.
I can imagine there would be circumstances where I might want to do the same for right shifts, e.g. othervar >> 2 to othervar / 4.
Is your feature request related to a problem?
n/a
Are any alternative solutions acceptable?
In theory I could change the IL shift node and argument to a multiplication/division with the revised constant, but I think I can only do that with a workflow, not interactively.
I don't want this to be a global change in behavior. Instead, I want to be able to change the display of specific operations interactively.
Additional Information:
If implemented, this will combine nicely with #3931 (sizeof), which is one major use of displaying operations as multiplication or division instead of bit shifting. Then the above might be variable * sizeof(MyStruct) or size_in_bytes / sizeof(uint32_t).
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Vector35/binaryninja-api
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Vector35/binaryninja-api#8540 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Vector35/binaryninja-api#8516 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Vector35/binaryninja-api#8503 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Vector35/binaryninja-api#8446 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Vector35/binaryninja-api#8444 ·
All issues in Vector35/binaryninja-api
Similar issues
-
Website Doc Typo Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
autowarefoundation/autoware_universe#13413 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
automated-analysis bug memory-safety
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100