binaryninja-api icon indicating copy to clipboard operation
binaryninja-api copied to clipboard

Makes it easier to navigate based on an RVA

Open xusheng6 opened this issue 2 years ago • 5 comments

PE and ELF files use a lot of RVAs in it. Right now, whenever the user wishes to navigate to it, he needs to add that address to the image base, and then press "G" to call up the "Go To Address" dialog, and then type the address in it. This is quite inconvenient. We should make it easier to do this.

An example of RVAs in exception info:

Screenshot 2023-11-08 at 2 34 10 PM

I propose two ways for it:

  • [ ] When an address token is double-clicked and a specific key is hold down (e.g., Shift), we treat the address as RVA and automatically add the image base to it before navigating
  • [ ] Add a checkbox in the "Go To Address" dialog to treat the address as RVA

xusheng6 avatar Nov 08 '23 06:11 xusheng6

Related to https://github.com/Vector35/binaryninja-api/issues/2098 and https://github.com/Vector35/binaryninja-api/issues/2092. Before we get there, the changes suggested in this issue should be served as a workaround.

xusheng6 avatar Nov 08 '23 07:11 xusheng6

~~Or maybe even better, first try to navigate as an offset; if it fails, then try to navigate it as RVA?~~

Update: on a second thought, this might create confusion. So it is still better done via an explicit key hold

xusheng6 avatar Nov 08 '23 07:11 xusheng6

Similar: #2785

CouleeApps avatar Nov 08 '23 07:11 CouleeApps

Similar: #2785

oh great, thx! I tried to find that issue, but failed. Thx!

xusheng6 avatar Nov 08 '23 07:11 xusheng6

I navigate to RVAs in DataVariables like this Hit G Type "$start+[$].d"

plafosse avatar Nov 08 '23 10:11 plafosse