You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/guide/index.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -953,7 +953,6 @@ Any variables or functions defined globally within the script will be available
953
953
### Python Debugging
954
954
See the [plugin development guide](../dev/plugins.md#debugging-using-other-ides).
955
955
956
-
Note
957
956
???+ Tip "Tip"
958
957
The current script console only supports Python at the moment, but it's fully extensible for other programming languages for advanced users who wish to implement their own bindings.
Copy file name to clipboardExpand all lines: docs/guide/sharedcache.md
+19-18Lines changed: 19 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,47 +21,47 @@ List of supported features for the given shared cache targets:
21
21
22
22
## Obtaining a Shared Cache
23
23
24
-
The `dyld_shared_cache` is one or more files that contain all the shared libraries used by modern Apple operating systems (like macOS, iOS, and tvOS). These can be obtained
25
-
directly from Apple, or with the help of a tool such as `blacktop/ipsw`.
24
+
The `dyld_shared_cache` is one or more files that contain all the shared libraries used by modern Apple operating systems (like macOS, iOS, and tvOS). These can be obtained directly from Apple, or with the help of a tool such as [`blacktop/ipsw`](#using-blacktopipsw).
26
25
27
-
### With`blacktop/ipsw`
26
+
### Using`blacktop/ipsw`
28
27
29
-
Our recommended way to retrieve a `dyld_shared_cache` is using blacktop's wonderful [`ipsw` tool](https://github.com/blacktop/ipsw).
28
+
Our recommended way to retrieve a `dyld_shared_cache` is using blacktop's [`ipsw` tool](https://github.com/blacktop/ipsw).
2. Run `ipsw download ipsw --version [target iOS version] --device [target device model (e.g. iPhone10,3)]`
33
32
3. Run `ipsw extract --dyld [filename]`
34
33
35
-
### From Local macOS Install
34
+
### Local macOS Install
36
35
37
36
The local shared cache on macOS is located at `/System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/`.
38
37
39
38
## Opening a Shared Cache
40
39
41
-
Binary Ninja currently only supports `dyld_shared_cache` files that have been extracted into a flat directory, so you will need to extract the IPSW (if there is one) first. After extraction, we are expecting a file structure similar to the following:
40
+
Binary Ninja currently only supports `dyld_shared_cache` files that have been extracted into a flat directory, so you will need to extract the IPSW (if there is one) first. After extraction, we expect files similar to the following:
To access the entire shared cache, open the **Primary** file in Binary Ninja. In the example above this would be `dyld_shared_cache_arm64`.
50
-
Opening any other file (e.g. `dyld_shared_cache_arm64.01`) will result in a partial shared cache, with only the information present
51
-
in the file you opened.
48
+
To load the shared cache, open the **Primary** file in Binary Ninja. In the example above this would be `dyld_shared_cache_arm64`.
49
+
50
+
???+ Danger "Warning"
51
+
Opening any other file (e.g. `dyld_shared_cache_arm64.01`) will result in a partial shared cache, with only the information present in the file you opened.
52
52
53
53
### Project Support
54
54
55
55
Binary Ninja projects support `dyld_shared_cache` files. However, due to the nature of the project files not having a mappable path,
56
56
saving the analysis database (`.bndb`) in a separate directory will require you to select the primary shared cache file on
57
57
every open of the database. As a result, we advise keeping your analysis database in the same folder as your `dyld_shared_cache` files.
@@ -97,7 +97,7 @@ opening a `dyld_shared_cache` and is how you add images to the actual binary vie
97
97
98
98
### Scripting
99
99
100
-
Another way to interact with the shared cache information is through the provided Python API, available in the `binaryninja.sharedcache` module.
100
+
Another way to interact with the shared cache information is through the provided Python API, available in the [`binaryninja.sharedcache`](https://github.com/Vector35/binaryninja-api/blob/dev/view/sharedcache/api/python/sharedcache.py) module.
101
101
102
102
Additionally, the `dsc` (or `shared_cache`) magic variable is available in the scripting console whenever a shared cache is opened.
103
103
@@ -113,7 +113,8 @@ for image in dsc.loaded_images:
113
113
dsc.apply_image(bv, dep_image)
114
114
```
115
115
116
-
**Note:** If you are processing `dyld_shared_cache` files headlessly, [`loader.dsc.autoLoadPattern`](settings.md) is a *very* useful setting to override. This is a regex you can have match all the files you *want* to analyze, skipping the need to use the Python or C++ API to load them manually.
116
+
???+ Note "Note"
117
+
If you are processing `dyld_shared_cache` files headlessly, [`loader.dsc.autoLoadPattern`](settings.md) is a *very* useful setting to override. This is a regex you can have match all the files you *want* to analyze, skipping the need to use the Python or C++ API to load them manually.
0 commit comments