From 290e44dc0dad5ad655e71dc18d9f031c6301c563 Mon Sep 17 00:00:00 2001 From: Alexander Taylor Date: Wed, 10 Jul 2024 18:16:30 -0400 Subject: Add the start of docs for large binaries. Closes #4684. --- docs/guide/troubleshooting.md | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'docs/guide') diff --git a/docs/guide/troubleshooting.md b/docs/guide/troubleshooting.md index 9f4fd056..cf605b8f 100644 --- a/docs/guide/troubleshooting.md +++ b/docs/guide/troubleshooting.md @@ -239,6 +239,17 @@ With the addition of [projects](../guide/projects.md) and [type archives](../gui 1. Re-run the [`linux-setup.sh`](https://github.com/Vector35/binaryninja-api/blob/dev/scripts/linux-setup.sh) script. The appropriate copy is available wherever you installed Binary Ninja inside the `scripts/` subfolder. +## Working with Large or Complex Binaries + +By default, Binary Ninja does full analysis of the binary and decompiles every function. On large binaries (or binaries that are complex due to e.g. heavy obfuscation), this might not be desirable due to how long it will take and/or how much memory it will use. There are a few settings available that you should look into tweaking to make this a better experience: + +* Making `analysis.limits.cacheSize` smaller can help bring down memory utilization by limiting the number of functions Binary Ninja caches analysis for. +* Changing `analysis.mode` to an option less than `full` will prevent Binary Ninja from doing full decompilation for every function. +* Turning on `analysis.suppressNewAutoFunctionAnalysis` will prevent new functions from being analyzed at all until they are accessed. + +Other [analysis settings](settings.md#all-settings) can also help. Check the descriptions to see what they do. + + ## Collaboration Issues !!! note -- cgit v1.3.1