summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorkat <kat@vector35.com>2023-04-18 17:44:27 -0400
committerkat <kat@vector35.com>2023-04-18 17:44:34 -0400
commit131e49a4f343be6c78d7a24261f910d3e75044d3 (patch)
treedd9abd9b4b1cc4186b23d389aafe3965b6fad352 /docs
parent2882486300256355441732961978504087884651 (diff)
Add User Docs for the New Symbols UI
Diffstat (limited to 'docs')
-rw-r--r--docs/guide/index.md79
-rw-r--r--docs/img/symbols_display_folders_tog.pngbin0 -> 177931 bytes
-rw-r--r--docs/img/symbols_dragtocreate.pngbin0 -> 117537 bytes
-rw-r--r--docs/img/symbols_header_drag.pngbin0 -> 178695 bytes
-rw-r--r--docs/img/symbols_header_menu.pngbin0 -> 117775 bytes
-rw-r--r--docs/img/symbols_mangle_settings.pngbin0 -> 378216 bytes
-rw-r--r--docs/img/symbols_overview1.pngbin0 -> 392638 bytes
-rw-r--r--docs/img/symbols_right_click_NFwS.pngbin0 -> 154256 bytes
-rw-r--r--docs/img/symbols_truncation.pngbin0 -> 23655 bytes
9 files changed, 74 insertions, 5 deletions
diff --git a/docs/guide/index.md b/docs/guide/index.md
index a30ea497..fd897fe7 100644
--- a/docs/guide/index.md
+++ b/docs/guide/index.md
@@ -423,14 +423,83 @@ Linear view is most commonly used for identifying and adding type information fo
### Symbols List
-![symbols list >](../img/functionlist.png "Symbols List")
+![symbols list >](../img/symbols_overview1.png "Symbols List")
-The symbols list in Binary Ninja shows the list of symbols for functions and/or data variables currently identified. As large binaries are analyzed, the list may grow during analysis. The symbols list starts with known functions and data variables such as the entry point, exports, or using other features of the binary file format and explores from there to identify other functions and data variables.
+The Symbols List is a powerful symbol organization and navigation tool. It allows sorting symbols by a variety of attributes,
+organizing them into folders (both manually, and automatically via API interaction), and much more.
-The symbols list highlights symbols according to whether they are functions or data variables, local or exported, or imported. All of these kinds of symbols can be toggled from the ☰ menu at the top right of the Symbols pane.
+#### Columns
-???+ Warning "Tip"
- Searching in the symbol list doesn't require focusing the search box. That the filter list here (and in the string panel) is a "fuzzy" search. Each space-separated keyword is used as a substring match and order matters. So: "M C N" for example would match "MyClassName".
+The Symbol List allows displaying valuable info about symbols via columns. These columns can be re-arranged, hidden, and used for sorting
+
+Sort by a given column simply by clicking it. Click it again to toggle between Ascending and Descending Sort.
+
+Rearrange columns by dragging them into the order you'd prefer
+
+![symbols list >](../img/symbols_header_drag.png "Symbols List: Dragging a column")
+
+Hide, show, and reset the order by right clicking the header
+
+![symbols list >](../img/symbols_header_menu.png "Symbols List Header Menu")
+
+#### Disabling Folders
+
+You can easily toggle the display of folders via clicking the menu icon, navigating to the "Folders" submenu, and clicking "Show Folder Structure".
+
+![symbols list >](../img/symbols_display_folders_tog.png "Disabling Folders")
+
+#### "Always Show All Contained [Folders/Data Variables]"
+
+These two menu options, on by default, ensure that regardless of what filter options are set,
+_all_ items within a folder will _always_ be shown.
+
+#### Truncate Folder Name In Children
+
+When working with namespaces, it's often convenient to sort symbols into folders representing
+these namespaces, via scripts or otherwise.
+
+Enabling this will elide the name of the parent if it's repeated in children.
+
+![symbols list >](../img/symbols_truncation.png "Symbols List: Some truncated names")
+
+#### Folder Management
+
+##### Creating New Folders
+
+###### New Folder with Selection
+"New Folder with Selection" will create a new folder containing the selected items.
+When this is done within a folder, the folder will be created within the shared parent.
+
+![symbols list >](../img/symbols_right_click_NFwS.png "Symbols List: Right clicking with several symbols selected, and then clicking 'New Folder with Selection'")
+
+###### "New Folder" and "New Subfolder"
+
+"New Folder" will always create a new folder at the root of the tree.
+
+"New Subfolder" will create a new folder within the currently selected folder.
+
+Both of these can be accessed either via the right-click context menu or the menu icon
+on the top right.
+
+###### Via Dragging
+
+Dragging several items onto another non-folder item will create a folder containing the dragged items and the item they were dropped on.
+
+##### Moving Items into Folders
+
+Dragging several items onto or into a folder will move the items into that folder.
+
+![symbols list >](../img/symbols_dragtocreate.png "Symbols List: Dragging several functions onto another function")
+
+##### "Remove from Folder"
+
+The "Remove from Folder" context menu option will move a given item or items to the root of the tree.
+
+#### Mangled Names
+
+You can toggle the display mode of mangled items via clicking the menu icon and selecting an option from the "Mangled Names" submenu.
+
+![symbols list >](../img/symbols_mangle_settings.png "Symbols List: Menus visible when clicking the menu icon and then opening the 'Mangled Names' submenu")
### Memory Map
diff --git a/docs/img/symbols_display_folders_tog.png b/docs/img/symbols_display_folders_tog.png
new file mode 100644
index 00000000..a07eb4c3
--- /dev/null
+++ b/docs/img/symbols_display_folders_tog.png
Binary files differ
diff --git a/docs/img/symbols_dragtocreate.png b/docs/img/symbols_dragtocreate.png
new file mode 100644
index 00000000..fa327b0b
--- /dev/null
+++ b/docs/img/symbols_dragtocreate.png
Binary files differ
diff --git a/docs/img/symbols_header_drag.png b/docs/img/symbols_header_drag.png
new file mode 100644
index 00000000..5863aa4e
--- /dev/null
+++ b/docs/img/symbols_header_drag.png
Binary files differ
diff --git a/docs/img/symbols_header_menu.png b/docs/img/symbols_header_menu.png
new file mode 100644
index 00000000..cb2caf43
--- /dev/null
+++ b/docs/img/symbols_header_menu.png
Binary files differ
diff --git a/docs/img/symbols_mangle_settings.png b/docs/img/symbols_mangle_settings.png
new file mode 100644
index 00000000..0f5153b0
--- /dev/null
+++ b/docs/img/symbols_mangle_settings.png
Binary files differ
diff --git a/docs/img/symbols_overview1.png b/docs/img/symbols_overview1.png
new file mode 100644
index 00000000..055c0742
--- /dev/null
+++ b/docs/img/symbols_overview1.png
Binary files differ
diff --git a/docs/img/symbols_right_click_NFwS.png b/docs/img/symbols_right_click_NFwS.png
new file mode 100644
index 00000000..b459f4b0
--- /dev/null
+++ b/docs/img/symbols_right_click_NFwS.png
Binary files differ
diff --git a/docs/img/symbols_truncation.png b/docs/img/symbols_truncation.png
new file mode 100644
index 00000000..fa2de480
--- /dev/null
+++ b/docs/img/symbols_truncation.png
Binary files differ