radareorg / radare2

UNIX-like reverse engineering framework and command-line toolset
https://www.radare.org/
GNU Lesser General Public License v3.0
20.65k stars 3k forks source link

RFE: Graph navigation keys #13403

Open radare opened 5 years ago

radare commented 5 years ago

There are some things that will be interesting to have in the interactive graph view:

We can probably show that in a list in the left side of the screen with "points of interest" for the current graph

penthaapatel commented 5 years ago

Hello! New contributor here. I would like to work on this issue. Should the features be added to libr/core/visual.c file? Can I get more guidance on how to proceed with adding these features?

radare commented 5 years ago

the graph is implemented in libr/core/graph.c

first we need to pick a key to open this bb summary list, i would choose 'b' (as in browse)

check for the swiitch chase that handles the keys. and add the 'case 'b':' line, then from there i would set a var to make that menu appear, and then when this mode is set check for jk to select each node of interest, and pressing enter or 'q' to quit this mode.

if you have more questions about how to use rcons or so feel free to ask in here or github. but the best way to learn is to do. so all yours :)

On 18 Mar 2019, at 00:33, penthaapatel notifications@github.com wrote:

Hello! New contributor here. I would like to work on this issue. Should the features be added to libr/core/visual.c file? Can I get more guidance on how to proceed with adding these features?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/radare/radare2/issues/13403#issuecomment-473726954, or mute the thread https://github.com/notifications/unsubscribe-auth/AA3-lmW7u5X8TkWPQ-4uij9lHwJatYDxks5vXtDYgaJpZM4b4UPh.

radare commented 5 years ago

We shouhld first stsart implementing a verbose list of basic blocks in afbl with columns displaying amount of input/output edges so we can use ~$ for sorting them and use that from the vb +hud in an r2 oneliner to select the node. that should be enough for solving this problem in few lines

radare commented 5 years ago

i did last week the 'b' handling in graph, so we can consider this issue is "solved" but we need to implement the afbl command, which is pretty easy to do

radare commented 5 years ago

i did some work on this with the i and I keys. as long as i got 0 feedback ill move to 3.6

radare commented 5 years ago

@Vane11ope maybe related to panels to improve graph navigation support in there? any comments here?