summaryrefslogtreecommitdiff
path: root/docs/guide
diff options
context:
space:
mode:
authorJordan Wiens <jordan@psifertex.com>2023-05-01 14:16:57 -0400
committerPeter LaFosse <peter@vector35.com>2023-05-01 14:24:37 -0400
commit5d3e98685591b2521f8dc3151d9a3c36095401b6 (patch)
tree192470df14f1d8d3ca65609dd7d300dd6db743b3 /docs/guide
parent9aa07762230234bf7222d2b2c19c1fe49ef71d9a (diff)
many fixes to missing links in documentation
Diffstat (limited to 'docs/guide')
-rw-r--r--docs/guide/index.md2
-rw-r--r--docs/guide/troubleshooting.md6
-rw-r--r--docs/guide/type.md16
3 files changed, 13 insertions, 11 deletions
diff --git a/docs/guide/index.md b/docs/guide/index.md
index 6865ce9b..c773a235 100644
--- a/docs/guide/index.md
+++ b/docs/guide/index.md
@@ -682,7 +682,7 @@ defined within the console, but within the script, it will be set to the absolut
Any variables or functions defined globally within the script will be available within the console, and to future scripts.
#### Python Debugging
-See the [plugin development guide](../dev/plugins.md#debugging-python).
+See the [plugin development guide](../dev/plugins.md#debugging-using-other-ides).
Note
???+ Warning "Tip"
diff --git a/docs/guide/troubleshooting.md b/docs/guide/troubleshooting.md
index e00d7c65..9a0a23a4 100644
--- a/docs/guide/troubleshooting.md
+++ b/docs/guide/troubleshooting.md
@@ -39,11 +39,11 @@ While third party plugins are not officially supported, there are a number of tr
Additionally, if you're having trouble running a plugin in headless mode (without a GUI calling directly into the core), make sure you're running the Commercial version of Binary Ninja as the Student/Non-Commercial edition does not support headless processing.
-Next, if running a python plugin, make sure the python requirements are met by your existing installation. Note that on windows, the bundled python is used and python requirements should be installed either by manually copying the modules to the `plugins` [folder](./#directories), or by switching to a different interpreter in the settings.
+Next, if running a python plugin, make sure the python requirements are met by your existing installation. Note that on windows, the bundled python is used and python requirements should be installed either by manually copying the modules to the `plugins` [folder](./index.md#directories), or by switching to a different interpreter in the settings.
## License Problems
-- If experiencing problems with Windows UAC permissions during an update, the easiest fix is to completely un-install and [recover][recover] the latest installer and license. Preferences are saved outside the installation folder and are preserved, though you might want to remove your [license](./#license).
+- If experiencing problems with Windows UAC permissions during an update, the easiest fix is to completely un-install and [recover][recover] the latest installer and license. Preferences are saved outside the installation folder and are preserved, though you might want to remove your [license](./index.md#license).
- If you need to change the email address on your license, contact [support].
## Running as Root
@@ -75,7 +75,7 @@ Some graphics chipsets may experience problems with [scaling](https://github.com
If you're using Windows virtual machines within virtualbox or VMWare, you may have trouble with the 3d acceleration drivers. If so, disabling the 3d acceleration is the easiest way to get BN working.
-You may also manually create a `settings.json` file in your [user folder](./#user-folder) with the contents though using the [plugin manager](plugins.md#plugin-manager) may also have problems:
+You may also manually create a `settings.json` file in your [user folder](./index.md#user-folder) with the contents though using the [plugin manager](plugins.md#plugin-manager) may also have problems:
``` js
{
diff --git a/docs/guide/type.md b/docs/guide/type.md
index d4fa0c69..7fb9e2bb 100644
--- a/docs/guide/type.md
+++ b/docs/guide/type.md
@@ -4,7 +4,7 @@ This document is organized into two sections describing how to work with types i
The second [section](#working-with-types) is how to interact with any type, regardless of its source.
-For more about type libraries, signature library, and how to interact with types through the API, see the [annotation section](/annotation) of the developer guide.
+For more about type libraries, signature library, and how to interact with types through the API, see the [applying annotations](../dev/annotation.md) section of the developer guide.
## Basic Types
@@ -12,21 +12,21 @@ The biggest culprit of bad decompilation is often missing type information. Ther
### Renaming Symbols and Variables
-Some binaries helpfully have symbol information in them which makes reverse engineering easier. Of course, even if the binary doesn't come with symbol information, you can always add your own. From the UI, just select the function, variable, member, or register you want to change and press `n`. This works on variables as well.
-
![Rename a function >](../img/rename.png "Renaming a function")
-### Applying Structures and Types
+Some binaries helpfully have symbol information in them which makes reverse engineering easier. Of course, even if the binary doesn't come with symbol information, you can always add your own. From the UI, just select the function, variable, member, or register you want to change and press `n`. This works on variables as well.
-![Changing a type](../img/change-type.png "Changing a type")
+### Applying Structures and Types
Simply select an appropriate token (variable or memory address), and press `y` to bring up the change type dialog. Types can be applied on both disassembly and all levels of IL. Any variables that are shared between the ILs will be updated as types are applied.
+![Changing a type](../img/change-type.png "Changing a type")
+
### Types View
To see all types in a Binary View, use the types view. It can be accessed from the menu `View > Types`. Alternatively, you can access it with the `t` hotkey from most other views, or using `[CMD/CTRL] p` to access the command-palette and typing "types". This is the most common interface for creating structures, unions and types using C-style syntax.
-For many built-in file formats you'll notice that common headers are already enumerated in the types view. These headers are applied when viewing the binary in [linear view](./#linear-view) and will show the parsed binary data into that structure or type making them particularly useful for binary parsing even of non-executable file formats.
+For many built-in file formats you'll notice that common headers are already enumerated in the types view. These headers are applied when viewing the binary in [linear view](./index.md#linear-view) and will show the parsed binary data into that structure or type making them particularly useful for binary parsing even of non-executable file formats.
![Types View](../img/types-view.png "Types View")
@@ -163,7 +163,9 @@ Below are detailed explanation of it:
The automatic member creation mentioned in #3 and #4 takes into consideration both incoming and outgoing type information for the accessed offsets and selects the most confident one as the type for the offset.
When no type information can be used to create the structure member, we fall back to creating an integer type based on the size of accesses. For example, if we see an access of size 4, we will create an `int32_t`. In case there are different sizes of accesses, we do not create the member. You will need to examine the conflicting size information and decide how to create a member.
-Consider the following example (created using [taped](../files/chal1) from the 2011 Ghost in the Shellcode CTF if you'd like to play along at home):
+
+
+Consider the following example (created using [taped](../files/taped) from the 2011 Ghost in the Shellcode CTF if you'd like to play along at home):
| Step | Preview |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|