Visual Panels

Concept

Visual Panels is characterized by the following core functionalities:

  1. Split Screen
  2. Display multiple screens such as Symbols, Registers, Stack, as well as custom panels
  3. Menu will cover all those commonly used commands for you so that you don’t have to memorize any of them

CUI met some useful GUI as the menu, that is Visual Panels.

Panels can be accessed by using v or by using ! from the visual mode.

Overview

Panels Overview

Commands

  1. |Visual Ascii Art Panels:
  2. | | split the current panel vertically
  3. | - split the current panel horizontally
  4. | : run r2 command in prompt
  5. | ; add/remove comment
  6. | _ start the hud input mode
  7. | \ show the user-friendly hud
  8. | ? show this help
  9. | ! run r2048 game
  10. | . seek to PC or entrypoint
  11. | * show decompiler in the current panel
  12. | " create a panel from the list and replace the current one
  13. | / highlight the keyword
  14. | ( toggle snow
  15. | & toggle cache
  16. | [1-9] follow jmp/call identified by shortcut (like ;[1])
  17. | ' ' (space) toggle graph / panels
  18. | tab go to the next panel
  19. | Enter start Zoom mode
  20. | a toggle auto update for decompiler
  21. | b browse symbols, flags, configurations, classes, ...
  22. | c toggle cursor
  23. | C toggle color
  24. | d define in the current address. Same as Vd
  25. | D show disassembly in the current panel
  26. | e change title and command of current panel
  27. | f set/add filter keywords
  28. | F remove all the filters
  29. | g go/seek to given offset
  30. | G go/seek to highlight
  31. | i insert hex
  32. | hjkl move around (left-down-up-right)
  33. | HJKL move around (left-down-up-right) by page
  34. | m select the menu panel
  35. | M open new custom frame
  36. | n/N seek next/prev function/flag/hit (scr.nkey)
  37. | p/P rotate panel layout
  38. | q quit, or close a tab
  39. | Q close all the tabs and quit
  40. | r toggle callhints/jmphints/leahints
  41. | R randomize color palette (ecr)
  42. | s/S step in / step over
  43. | t/T tab prompt / close a tab
  44. | u/U undo / redo seek
  45. | w start Window mode
  46. | V go to the graph mode
  47. | xX show xrefs/refs of current function from/to data/code
  48. | z swap current panel with the first one

Basic Usage

Use tab to move around the panels until you get to the targeted panel. Then, use hjkl, just like in vim, to scroll the panel you are currently on. Use S and s to step over/in, and all the panels should be updated dynamically while you are debugging. Either in the Registers or Stack panels, you can edit the values by inserting hex. This will be explained later. While hitting tab can help you moving between panels, it is highly recommended to use m to open the menu. As usual, you can use hjkl to move around the menu and will find tons of useful stuff there. You can also press " to quickly browse through the different options View offers and change the contents of the selected panel.

Split Screen

| is for the vertical and - is for the horizontal split. You can delete any panel by pressing X.

Split panels can be resized from Window Mode, which is accessed with w.

Window Mode Commands

  1. |Panels Window mode help:
  2. | ? show this help
  3. | ?? show the user-friendly hud
  4. | Enter start Zoom mode
  5. | c toggle cursor
  6. | hjkl move around (left-down-up-right)
  7. | JK resize panels vertically
  8. | HL resize panels horizontally
  9. | q quit Window mode

Edit Values

Either in the Register or Stack panel, you can edit the values. Use c to activate cursor mode and you can move the cursor by pressing hjkl, as usual. Then, hit i, just like the insert mode of vim, to insert a value.

Tabs

Visual Panels also offer tabs to quickly access multiple forms of information easily. Press t to enter Tab Mode. All the tabs numbers will be visible in the top right corner.

By default you will have one tab and you can press t to create a new tab with the same panels and T to create a new panel from scratch.

For traversing through the tabs, you can type in the tab number while in Tab Mode.

And pressing - deletes the tab you are in.

Saving layouts

You can save your custom layout of your visual panels either by picking the option ‘Save Layout’ from the File menu of the menu bar or by running:

  1. v= test

Where test is the name with which you’d like to save it.

You can open a saved layout by passing the name as the parameter to v:

  1. v test

More about that can be found under v?.