Improve Rebase Speed and/or UX
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- devtools, performance, reverse-engineering
Research direction
Start by reading the linked debugger issues, Vector35/debugger#214 and #483, and reproduce the ASLR rebase workflow described in the issue with a large binary. Done means the debugger no longer becomes effectively unusable during copying or rebasing and the cited use case is better supported, regardless of the implementation.
Written by the indexing model from the issue text.
Description
There are a few situations that will arise, while using the debugger, where things will need to be copied or rebased. These operations can take a very long time and, if you have a big enough binary, this can effectively render the debugger unusable.
Potentially relevant debugger issues:
- Vector35/debugger#214
- Vector35/debugger#483
There are multiple things we could do (or look into doing) that would address this, some of which may already be issues. I'm just making this one to track the overall problem so we can prioritize for some future release.
Example from a recent user in Slack:
After waiting for analysis to complete and launching the game in the debugger, BN performs a rebase (ASLR) and... restarts the whole analysis from scratch. The code at my breakpoint is no longer valid and the game sits on a black screen, barely able to start while BN uses most of the CPU to run the 15min analysis for the second time. In contrast, IDA needs ~10 seconds to adjust to the new image base and have the game up and running.
I would happily consider this issue closed once the above use-case is better supported, regardless of whatever implementation(s) happen to get us there.
- 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
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Sensor initialization takes very long when `--initial-sim-time` is set to current UNIX timestamp Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gazebosim/gz-sensors#662 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
LadybirdBrowser/ladybird#12123 ·