diff options
| author | Jordan Wiens <jordan@psifertex.com> | 2020-05-11 12:23:26 -0400 |
|---|---|---|
| committer | Jordan Wiens <jordan@psifertex.com> | 2020-05-11 12:23:48 -0400 |
| commit | f8cc3f77d03ddc20c7ce7b9765ead144d88c6ae3 (patch) | |
| tree | a2a0a8da27fab0a239b11912df1c0d88e31b3773 /docs/guide | |
| parent | 0812057350b17bddf7539f6622b6e7e2aae283a0 (diff) | |
additional type hotkey descriptions and make taped a bn url handler
Diffstat (limited to 'docs/guide')
| -rw-r--r-- | docs/guide/type.md | 16 |
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"> |
