summaryrefslogtreecommitdiff
path: root/docs/guide
diff options
context:
space:
mode:
authorJordan Wiens <jordan@psifertex.com>2020-05-11 12:23:26 -0400
committerJordan Wiens <jordan@psifertex.com>2020-05-11 12:23:48 -0400
commitf8cc3f77d03ddc20c7ce7b9765ead144d88c6ae3 (patch)
treea2a0a8da27fab0a239b11912df1c0d88e31b3773 /docs/guide
parent0812057350b17bddf7539f6622b6e7e2aae283a0 (diff)
additional type hotkey descriptions and make taped a bn url handler
Diffstat (limited to 'docs/guide')
-rw-r--r--docs/guide/type.md16
1 files changed, 15 insertions, 1 deletions
diff --git a/docs/guide/type.md b/docs/guide/type.md
index 78bd378a..3965eb01 100644
--- a/docs/guide/type.md
+++ b/docs/guide/type.md
@@ -12,9 +12,23 @@ Finally, we'll [cover](#symbols) how to work with Symbols in a binary.
There are two main ways to interact with types from within a binary view. The first is to use the [types view](#types-view), and the second is to take advantage of the [smart structures workflow](#smart-structures-workflow) or otherwise annotate types directly in a disassembly or IL view.
+### Direct UI manipulation
+
+The simplest way to directly manipulate types in disassembly is by viewing an existing variable or sequence of bytes in linear view and using the following hotkeys:
+
+ - `1`, `2`, `4`, `8`: The number hotkeys will create a data variable at the current location if none exists, and then change the size of the variable to an integer in the size of bytes specified in the hotkey.
+ - `d`: If you want to cycle through the different integer sizes, repeatedly pressing `d` has the same effect as pressing the numbers in order.
+ - `-`: To quickly toggle integers between signed and unsigned integers, you can use the `-` hotkey.
+ - `a`: This hotkey sets or creates the current variable to a character array up until and including the next null byte.
+ - `o`: `o` will set or create the current variable to be a pointer reference.
+ - `*`: If you have a selection of identical variables, `*` will convert them into an array of elements.
+ - `s`: `s` is a magic hotkey described in the next section in greater detail
+
+ Note that you can apply these types to a region of memory as well, not just a single variable. So selecting a large block of bytes and pressing `2` `*` for example will create an array of `int16_t` sized elements.
+
### Smart Structures Workflow
-New to [stable version 1.3.2015](https://binary.ninja/changelog/) is the "Smart Structures" feature. Rather than manually create a type in the type view and then apply it to disassembly, you can create structures directly from disassembly using the `s` hotkey. Consider the following example (created using [taped](http://captf.com/2011/gits/taped) from the 2011 Ghost in the Shellcode CTF if you'd like to play along at home):
+New to [stable version 1.3.2015](https://binary.ninja/changelog/) is the "Smart Structures" feature. Rather than manually create a type in the type view and then apply it to disassembly, you can create structures directly from disassembly using the `s` hotkey. Consider the following example (created using [taped](binaryninja:http://captf.com/2011/gits/taped) from the 2011 Ghost in the Shellcode CTF if you'd like to play along at home):
<div class="inline-slides">
<ol id="inline-slides-text">