cutter icon indicating copy to clipboard operation
cutter copied to clipboard

Support all r2 graphs

Open karliss opened this issue 4 years ago • 3 comments

Is your feature request related to a problem? Please describe.

R2 can generate multiple kinds of graphs Cutter currently only supports function basic block graph.

Describe the solution you'd like

Dedicated widgets instead of some generic widget because that allows implementing content specific features

  • Context menu and other interaction with objects represented by nodes.
  • Adjusting node and edge style based on data.
  • Choosing the most suitable layout algorithm by default.

Even though issue asks for dedicated widgets large part of code can probably be shared.

Dedicated widget for:

  • [ ] data reference graph
  • [ ] global data reference graph
  • [x] function callgraph #406
  • [x] global callgraph #1776
  • [ ] diff graph
  • [ ] imports graph
  • [ ] references graph
  • [ ] global references graph
  • [ ] cross references graph
  • [ ] axg find paths to reach a point #1085

Describe alternatives you've considered Additional context

karliss avatar May 03 '20 14:05 karliss

Related: Cutter's Deep Graph plugin

ITAYC0HEN avatar May 03 '20 14:05 ITAYC0HEN

Regarding the dedicated widget, not sure how it is worthy in terms of inner implementation. If the data looks the same, they all can share the same widget while the data provided will be different, as well as widget's title.

ITAYC0HEN avatar May 03 '20 14:05 ITAYC0HEN

@ITAYC0HEN Deep graph plugin just binds buttons to r2 "ag*" commands. It doesn't really help implementing this issue more than writing ag? in r2 console.

As for sharing the same widget read the issue description

Even though issue asks for dedicated widgets large part of code can probably be shared.

karliss avatar May 03 '20 14:05 karliss