diff options
| author | Jordan Wiens <jordan@psifertex.com> | 2025-07-16 21:49:44 -0400 |
|---|---|---|
| committer | Jordan Wiens <jordan@psifertex.com> | 2025-07-16 21:49:44 -0400 |
| commit | e0c4454815701e3eb23f64a99ae1b6f87310bfc0 (patch) | |
| tree | 1a458643a72a56aa86b11d4aba8ff9e8bbac7f0a /docs | |
| parent | a83fdaf0813ad39fdf2321d49131927d653c1984 (diff) | |
update settings for 5.1
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/guide/settings.md | 60 |
1 files changed, 44 insertions, 16 deletions
diff --git a/docs/guide/settings.md b/docs/guide/settings.md index e09985a8..92b61f85 100644 --- a/docs/guide/settings.md +++ b/docs/guide/settings.md @@ -93,7 +93,7 @@ The setting will appear under the `Function Settings` submenu in applicable cont |Category|Setting|Description|Type|Default|Scope|Key| |---|---|---|---|---|---|---| |analysis|Alternate Type Propagation|Enable an alternate approach for function type propagation.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.alternateTypePropagation'>analysis.alternateTypePropagation</a>| -|analysis|Automatic Name Variables|Automatically name variables according to their usage.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.autoNameVariables'>analysis.autoNameVariables</a>| +|analysis|Automatically Name Variables|Automatically name variables according to their usage.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.autoNameVariables'>analysis.autoNameVariables</a>| |analysis|Correlated Memory Value Propagation|Attempt to propagate the value of an expression from a memory definition to a usage. Currently this feature is simplistic and the scope is a single basic block.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.correlatedMemoryValuePropagation'>analysis.correlatedMemoryValuePropagation</a>| |analysis|Early Stack Constant Propagation|Propagate constants stored on the stack during Low Level IL analysis. This allows stack offsets to be resolved when stack pointer updates use constants placed on the stack.|`string`|`inlined`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.earlyStackConstantPropagation'>analysis.earlyStackConstantPropagation</a>| | | | enum: Do not perform early constant propagation for stack variables|`enum`|`off`| | | @@ -115,6 +115,7 @@ The setting will appear under the `Function Settings` submenu in applicable cont |analysis|Auto Function Analysis Suppression|Enable suppressing analysis of automatically discovered functions.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.suppressNewAutoFunctionAnalysis'>analysis.suppressNewAutoFunctionAnalysis</a>| |analysis|Translate Windows CFG Calls|Attempt to identify and translate calls to `_guard_dispatch_icall_nop` to improve analysis of control flow guard binaries.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.translateWindowsCfgCalls'>analysis.translateWindowsCfgCalls</a>| |analysis.conservative|Disallow Branch to String|Enable the ability to halt analysis of branch targets that fall within a string reference. This setting may be useful for malformed binaries.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.conservative.disallowBranchToString'>analysis.conservative.disallowBranchToString</a>| +|analysis.conservative|Solve Indirect Jump Tables in Writable Memory|When a jump table is found in writable memory, attempt to resolve its targets based on the bytes already present in memory.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.conservative.solveIndirectJumpTablesInWritableMemory'>analysis.conservative.solveIndirectJumpTablesInWritableMemory</a>| |analysis.database|Purge Original Filename Path|When saving a database, remove all path information from the Original Filename field|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`]|<a id='analysis.database.purgeOriginalFilenamePath'>analysis.database.purgeOriginalFilenamePath</a>| |analysis.database|Purge Snapshots|When saving a database, purge old snapshots keeping only the current snapshot.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`]|<a id='analysis.database.purgeSnapshots'>analysis.database.purgeSnapshots</a>| |analysis.database|Purge Undo History|When saving a database, purge current and existing undo history.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`]|<a id='analysis.database.purgeUndoHistory'>analysis.database.purgeUndoHistory</a>| @@ -124,10 +125,12 @@ The setting will appear under the `Function Settings` submenu in applicable cont |analysis.debugInfo|External Debug Info File|Separate file to attempt to parse and import debug information from.|`string`| |[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.debugInfo.external'>analysis.debugInfo.external</a>| |analysis.debugInfo|Import Debug Information|Attempt to parse and apply debug information from each file opened.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.debugInfo.internal'>analysis.debugInfo.internal</a>| |analysis.debugInfo|Enable Loading of Sibling Debug Files|Enable automatic loading of X.debug and X.dSYM files next to a file named X.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.debugInfo.loadSiblingDebugFiles'>analysis.debugInfo.loadSiblingDebugFiles</a>| +|analysis.efi|EFI Resolver|This analysis step resolves EFI protocol interfaces and propagates type information.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.efi.efiResolver'>analysis.efi.efiResolver</a>| +|analysis.guided|Enable Guided Analysis|Start function analysis in guided mode, requiring manual block selection before analyzing targets.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.guided.enable'>analysis.guided.enable</a>| +|analysis.guided|Enable Guided Analysis on Invalid Instructions|Enter guided mode for manual block selection when an invalid instruction is encountered.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.guided.triggers.invalidInstruction'>analysis.guided.triggers.invalidInstruction</a>| |analysis.hlil|Aggressive Condition Complexity Removal Threshold|High Level IL tuning parameter (deprecated).|`number`|`64`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.hlil.aggressiveConditionComplexityRemovalThreshold'>analysis.hlil.aggressiveConditionComplexityRemovalThreshold</a>| |analysis.hlil|Code Duplication Limit|Maximum number of lines of code to duplicate to reduce control flow complexity.|`number`|`2`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.hlil.codeDuplicationLimit'>analysis.hlil.codeDuplicationLimit</a>| -|analysis.hlil|Control Flow Resolution Strategy|Method used for resolving control flow in HLIL.|`string`|`graphTransformation`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.hlil.controlFlowResolution'>analysis.hlil.controlFlowResolution</a>| -| | | enum: Use condition graphs to resolve control flow (deprecated).|`enum`|`conditionGraph`| | | +|analysis.hlil|Control Flow Resolution Strategy|Method used for resolving control flow in HLIL.|`string`|`graphTransformation`|[]|<a id='analysis.hlil.controlFlowResolution'>analysis.hlil.controlFlowResolution</a>| | | | enum: Use graph transformations to resolve control flow.|`enum`|`graphTransformation`| | | |analysis.hlil|Graph Optimizer Limit|High Level IL tuning parameter.|`number`|`64`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.hlil.graphOptimizerLimit'>analysis.hlil.graphOptimizerLimit</a>| |analysis.hlil|Max Condition Complexity|High Level IL tuning parameter (deprecated).|`number`|`1024`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.hlil.maxConditionComplexity'>analysis.hlil.maxConditionComplexity</a>| @@ -164,15 +167,18 @@ The setting will appear under the `Function Settings` submenu in applicable cont | | | enum: Do not split oversized accesses to fields|`enum`|`off`| | | | | | enum: Split oversized accesses to valid fields and hide accessed gaps/alignment/padding bytes|`enum`|`validFieldsOnly`| | | | | | enum: Split oversized accesses to valid fields and include accessed gaps/alignment/padding bytes|`enum`|`allOffsets`| | | +|analysis.objectiveC|Resolve Dynamic Dispatch Calls|Replaces objc_msgSend calls with direct calls to the first found implementation when the target method is visible. May produce false positives when multiple classes implement the same selector or when selectors conflict with system framework methods.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.objectiveC.resolveDynamicDispatch'>analysis.objectiveC.resolveDynamicDispatch</a>| |analysis.outlining|Builtin Outlining of Constant Expressions|Enable outlining of constant expression compiler emitted builtins.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.outlining.builtins'>analysis.outlining.builtins</a>| |analysis.pointerSweep|Autorun Pointer Sweep|Automatically run pointer sweep when opening a binary for analysis.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.pointerSweep.autorun'>analysis.pointerSweep.autorun</a>| |analysis.rtti|RTTI Analysis|This analysis step attempts to parse and symbolize rtti information.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.rtti.rttiAnalysis'>analysis.rtti.rttiAnalysis</a>| |analysis.rtti|VFT Analysis|This analysis step attempts to parse and symbolize virtual function table information.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.rtti.vftAnalysis'>analysis.rtti.vftAnalysis</a>| |analysis.signatureMatcher|Autorun Function Signature Matcher|Automatically run the function signature matcher when opening a binary for analysis.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.signatureMatcher.autorun'>analysis.signatureMatcher.autorun</a>| +|analysis.svd|Add Backing Regions|Whether to add backing regions. Backing regions allow you to write to the underlying memory of a view, but will take up space in the BNDB.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.svd.addBackingRegions'>analysis.svd.addBackingRegions</a>| |analysis.svd|Add Bitfields|Whether to add bitfields. Bitfields are not supported by Binary Ninja, so this is a workaround using unions.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.svd.addBitfields'>analysis.svd.addBitfields</a>| |analysis.svd|Add Comments|Whether to add comments. If you see comment placement is off, try disabling this.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.svd.addComments'>analysis.svd.addComments</a>| |analysis.svd|SVD File|The SVD File to automatically load when opening the view.|`string`| |[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.svd.autoLoadFile'>analysis.svd.autoLoadFile</a>| |analysis.svd|SVD Loader|This analysis step applies SVD info to the view...|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.svd.loader'>analysis.svd.loader</a>| +|analysis.tags|Generate Auto Tags During Analysis|Automatically generate tags during analysis.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.tags.autoGenerate'>analysis.tags.autoGenerate</a>| |analysis.types|Language Specific Types|Use language specific type rendering and parsing when available.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.types.languageSpecificTypes'>analysis.types.languageSpecificTypes</a>| |analysis.types|Padding Threshold|Specify the minimum number of undefined bytes in a structure type before __padding notation is used when rendering the type to text. This setting does not affect exporting types to a file, where the __padding notation will always be used.|`number`|`65536`|[`SettingsUserScope`]|<a id='analysis.types.paddingThreshold'>analysis.types.paddingThreshold</a>| |analysis.types|Type Parser Default Arguments|Specify the default arguments to be passed into the Type Parser for all strings parsed into types. Currently only applies to User Scope (you can use a UIContextNotification plugin as a work-around for now).|`string`| |[`SettingsUserScope`]|<a id='analysis.types.parserDefaultArgs'>analysis.types.parserDefaultArgs</a>| @@ -186,16 +192,27 @@ The setting will appear under the `Function Settings` submenu in applicable cont |analysis.unicode|UTF-16 Encoding|Whether or not to consider UTF-16 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.unicode.utf16'>analysis.unicode.utf16</a>| |analysis.unicode|UTF-32 Encoding|Whether or not to consider UTF-32 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.unicode.utf32'>analysis.unicode.utf32</a>| |analysis.unicode|UTF-8 Encoding|Whether or not to consider UTF-8 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.unicode.utf8'>analysis.unicode.utf8</a>| +|analysis.warp|WARP Apply Matched|This analysis step applies WARP info to matched functions...|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.warp.apply'>analysis.warp.apply</a>| +|analysis.warp|WARP GUID Generator|This analysis step generates the GUID for all analyzed functions...|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.warp.guid'>analysis.warp.guid</a>| +|analysis.warp|Load Bundled Files|Whether to load bundled WARP files on startup. Turn this off if you want to manually load them.|`boolean`|`True`|[`SettingsUserScope`]|<a id='analysis.warp.loadBundledFiles'>analysis.warp.loadBundledFiles</a>| +|analysis.warp|Load User Files|Whether to load user WARP files on startup. Turn this off if you want to manually load them.|`boolean`|`True`|[`SettingsUserScope`]|<a id='analysis.warp.loadUserFiles'>analysis.warp.loadUserFiles</a>| +|analysis.warp|WARP Matcher|This analysis step attempts to find matching WARP functions after the initial analysis is complete...|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.warp.matcher'>analysis.warp.matcher</a>| +|analysis.warp|Maximum Function Length|Functions above this length will not be matched. A value of 0 will disable this check.|`number`|`0`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.warp.maximumFunctionLength'>analysis.warp.maximumFunctionLength</a>| +|analysis.warp|Minimum Function Length|Functions below this length will not be matched.|`number`|`0`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.warp.minimumFunctionLength'>analysis.warp.minimumFunctionLength</a>| +|analysis.warp|Minimum Matched Constraints|When function constraints are checked the amount of constraints matched must be at-least this.|`number`|`1`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.warp.minimumMatchedConstraints'>analysis.warp.minimumMatchedConstraints</a>| +|analysis.warp|Server API Key|The API key to use for the selected WARP server, if not specified you will be unable to push data, and may be rate limited.|`string`|`None`|[`SettingsUserScope`]|<a id='analysis.warp.serverApiKey'>analysis.warp.serverApiKey</a>| +|analysis.warp|Server URL|The WARP server to use.|`string`|`https://warp.binary.ninja`|[`SettingsUserScope`]|<a id='analysis.warp.serverUrl'>analysis.warp.serverUrl</a>| +|analysis.warp|Trivial Function Adjacent Constraints Allowed|When function constraints are checked if this is enabled functions can match based off trivial adjacent functions.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.warp.trivialFunctionAdjacentAllowed'>analysis.warp.trivialFunctionAdjacentAllowed</a>| +|analysis.warp|Trivial Function Length|Functions below this length in bytes will be required to match on constraints.|`number`|`20`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.warp.trivialFunctionLength'>analysis.warp.trivialFunctionLength</a>| |analysis.workflows|Function Workflow|Specifies the workflow to be used for function-level analysis, including tasks such as disassembly and IL transformations.|`string`|`core.function.metaAnalysis`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.workflows.functionWorkflow'>analysis.workflows.functionWorkflow</a>| | | | enum: This workflow defines the base function analysis provided by Binary Ninja.|`enum`|`core.function.baseAnalysis`| | | | | | enum: This workflow defines the adaptive function analysis for Binary Ninja, enabling adaptive composability of the default function analysis.|`enum`|`core.function.metaAnalysis`| | | | | | enum: Enhanced analysis for Objective-C code.|`enum`|`core.function.objectiveC`| | | -| | | enum: Shared Cache Workflow|`enum`|`core.function.sharedCache`| | | |analysis.workflows|Module Workflow|Specifies the workflow to be used for module-level analysis, focusing on processing module-level data and coordinating function analyses.|`string`|`core.module.metaAnalysis`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='analysis.workflows.moduleWorkflow'>analysis.workflows.moduleWorkflow</a>| | | | enum: This workflow defines the base module analysis for Binary Ninja.|`enum`|`core.module.baseAnalysis`| | | | | | enum: This workflow defines the adaptive module analysis for Binary Ninja, enabling adaptive composability of the default module analysis.|`enum`|`core.module.metaAnalysis`| | | -|arch.aarch64|AARCH64 Alignment Requirement|Require instructions be on 4-byte aligned addresses to be disassembled.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='arch.aarch64.disassembly.alignRequired'>arch.aarch64.disassembly.alignRequired</a>| -|arch.aarch64|AARCH64 Prefer Intrinsics for Vector Operations|Prefer generating calls to intrinsics (where one is available) to lifting vector operations as unrolled loops (where available). Note that not all vector operations are currently lifted as either intrinsics or unrolled loops.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='arch.aarch64.disassembly.preferIntrinsics'>arch.aarch64.disassembly.preferIntrinsics</a>| +|arch.aarch64|AArch64 Alignment Requirement|Require instructions be on 4-byte aligned addresses to be disassembled.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='arch.aarch64.disassembly.alignRequired'>arch.aarch64.disassembly.alignRequired</a>| +|arch.aarch64|AArch64 Prefer Intrinsics for Vector Operations|Prefer generating calls to intrinsics (where one is available) to lifting vector operations as unrolled loops (where available). Note that not all vector operations are currently lifted as either intrinsics or unrolled loops.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='arch.aarch64.disassembly.preferIntrinsics'>arch.aarch64.disassembly.preferIntrinsics</a>| |arch.mips|MIPS Disassembly Pseudo-Op|Enable use of pseudo-op instructions in MIPS disassembly.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='arch.mips.disassembly.pseudoOps'>arch.mips.disassembly.pseudoOps</a>| |arch.x86|x86 Disassembly Case|Specify the case for opcodes, operands, and registers.|`boolean`|`True`|[`SettingsUserScope`]|<a id='arch.x86.disassembly.lowercase'>arch.x86.disassembly.lowercase</a>| |arch.x86|x86 Disassembly Separator|Specify the token separator between operands.|`string`|`, `|[`SettingsUserScope`]|<a id='arch.x86.disassembly.separator'>arch.x86.disassembly.separator</a>| @@ -205,9 +222,9 @@ The setting will appear under the `Function Settings` submenu in applicable cont | | | enum: Sets the disassembly syntax to AT&T format. (Destination on the right)|`enum`|`AT&T`| | | |collaboration|Active Server|URL of the server to automatically connect to on launch. (Ultimate Only)|`string`| |[`SettingsProjectScope`, `SettingsUserScope`]|<a id='collaboration.activeRemote'>collaboration.activeRemote</a>| |collaboration|Advanced Conflict Resolution|Show extra information when resolving merge conflicts (Ultimate Only)|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`]|<a id='collaboration.advancedMerge'>collaboration.advancedMerge</a>| -|collaboration|Auto Connect|Automatically reconnect to last collaboration server if you were connected when Binary Ninja was closed (Ultimate Only)|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='collaboration.autoConnectOnLaunch'>collaboration.autoConnectOnLaunch</a>| +|collaboration|Auto Connect|Automatically reconnect to last collaboration server if you were connected when Binary Ninja was closed. (Ultimate Only)|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='collaboration.autoConnectOnLaunch'>collaboration.autoConnectOnLaunch</a>| |collaboration|Poll Interval|Time in seconds between polls for new snapshots. 0 to disable. (Ultimate Only)|`number`|`30`|[`SettingsUserScope`]|<a id='collaboration.autoPollInterval'>collaboration.autoPollInterval</a>| -|collaboration|Collaboration Project Directory|Default path for files downloaded from a remote (Ultimate Only)|`string`|`/USER/FOLDER/PATH/remote`|[`SettingsProjectScope`, `SettingsUserScope`]|<a id='collaboration.directory'>collaboration.directory</a>| +|collaboration|Collaboration Project Directory|Default path for files downloaded from a remote (Ultimate Only)|`string`|`/Users/jwiens/vector35/empty_profile/remote`|[`SettingsProjectScope`, `SettingsUserScope`]|<a id='collaboration.directory'>collaboration.directory</a>| |collaboration|Synchronize Local Project Deletions on Open|When opening a remote project, if you have deleted files/folders locally, delete them on the remote as well. (Ultimate Only)|`boolean`|`False`|[`SettingsUserScope`]|<a id='collaboration.localProjectDeletionSynchronization'>collaboration.localProjectDeletionSynchronization</a>| |collaboration|Maximum Conflict Diff Size|Any conflicts larger than this will not be displayed with a diff, so that the UI doesn't hang. (Ultimate Only)|`number`|`200000`|[`SettingsProjectScope`, `SettingsUserScope`]|<a id='collaboration.maxConflictDiff'>collaboration.maxConflictDiff</a>| |collaboration|Collaboration Servers|Collaboration servers to use (Ultimate Only)|`string`|`{}`|[`SettingsProjectScope`, `SettingsUserScope`]|<a id='collaboration.servers'>collaboration.servers</a>| @@ -221,11 +238,13 @@ The setting will appear under the `Function Settings` submenu in applicable cont |core.module|Load Debug Info|This analysis step attempts to parse and load debug information from internal and external sources.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='core.module.loadDebugInfo'>core.module.loadDebugInfo</a>| |core.module|Strings Analysis|Enable automatic detection and analysis of strings within the binary.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='core.module.stringsAnalysis'>core.module.stringsAnalysis</a>| |corePlugins|RTTI Plugin|Enable the built-in RTTI plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.RTTI'>corePlugins.RTTI</a>| +|corePlugins|BinExport Plugin|Enable the (experimental) BinExport plugin for exporting to BinDiff and other tools.|`boolean`|`False`|[`SettingsUserScope`]|<a id='corePlugins.binexport'>corePlugins.binexport</a>| |corePlugins|Crypto Plugin|Enable the built-in crypto plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.crypto'>corePlugins.crypto</a>| |corePlugins|Database Viewer (Debug)|Enable the built-in Database Viewer plugin. Be aware this is a debug feature and may not be well-behaved.|`boolean`|`False`|[`SettingsUserScope`]|<a id='corePlugins.databaseViewer'>corePlugins.databaseViewer</a>| |corePlugins|Debugger|Enable the built-in debugger plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.debugger'>corePlugins.debugger</a>| |corePlugins|DWARF Export Plugin|Enable the DWARF export plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.dwarfExport'>corePlugins.dwarfExport</a>| |corePlugins|DWARF Import Plugin|Enable the DWARF import plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.dwarfImport'>corePlugins.dwarfImport</a>| +|corePlugins|EFI Resolver|Enable the built-in EFI Resolver plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.efiResolver'>corePlugins.efiResolver</a>| |corePlugins|Firmware Ninja|Enable the Firmware Ninja plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.firmwareNinja'>corePlugins.firmwareNinja</a>| |corePlugins|IDB Import Plugin|Enable the IDB import plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.idbImport'>corePlugins.idbImport</a>| |corePlugins|PDB Import Plugin|Enable the built-in PDB import plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.pdbImport'>corePlugins.pdbImport</a>| @@ -233,10 +252,10 @@ The setting will appear under the `Function Settings` submenu in applicable cont |corePlugins|SVD Plugin|Enable the built-in SVD plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.svd'>corePlugins.svd</a>| |corePlugins|Triage Plugin|Enable the built-in triage plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.triage'>corePlugins.triage</a>| |corePlugins|Type Archive Inspector (Debug)|Enable the built-in Type Archive Inspector plugin. Be aware this is a debug feature and may not be well-behaved.|`boolean`|`False`|[`SettingsUserScope`]|<a id='corePlugins.typeArchiveViewer'>corePlugins.typeArchiveViewer</a>| -|corePlugins|WARP Plugin|Enable the built-in WARP plugin. (Experimental).|`boolean`|`False`|[`SettingsUserScope`]|<a id='corePlugins.warp'>corePlugins.warp</a>| -|corePlugins.architectures|Aarch64 Architecture|Enable the built-in Aarch64 architecture module.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.architectures.aarch64'>corePlugins.architectures.aarch64</a>| +|corePlugins|WARP Plugin|Enable the built-in WARP plugin.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.warp'>corePlugins.warp</a>| +|corePlugins.architectures|AArch64 Architecture|Enable the built-in AArch64 architecture module.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.architectures.aarch64'>corePlugins.architectures.aarch64</a>| |corePlugins.architectures|ARMv7 Architecture|Enable the built-in ARMv7 architecture module.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.architectures.armv7'>corePlugins.architectures.armv7</a>| -|corePlugins.architectures|C-SKY / M-CORE Architectures|Enable the built-in C-SKY / M-CORE architecture modules. (Ultimate Only)|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.architectures.csky'>corePlugins.architectures.csky</a>| +|corePlugins.architectures|C-SKY / M-Core Architectures|Enable the built-in C-SKY / M-CORE architecture modules. (Ultimate Only)|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.architectures.csky'>corePlugins.architectures.csky</a>| |corePlugins.architectures|MIPS Architecture|Enable the built-in MIPS architecture module.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.architectures.mips'>corePlugins.architectures.mips</a>| |corePlugins.architectures|MSP430 Architecture|Enable the built-in MSP430 architecture module.|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.architectures.msp430'>corePlugins.architectures.msp430</a>| |corePlugins.architectures|nanoMIPS Architecture|Enable the built-in nanoMIPS architecture module. (Ultimate Only)|`boolean`|`True`|[`SettingsUserScope`]|<a id='corePlugins.architectures.nanomips'>corePlugins.architectures.nanomips</a>| @@ -293,7 +312,7 @@ The setting will appear under the `Function Settings` submenu in applicable cont |network|Download Provider|Specify the registered DownloadProvider which enables resource fetching over HTTPS.|`string`|`CoreDownloadProvider`|[`SettingsUserScope`]|<a id='network.downloadProviderName'>network.downloadProviderName</a>| | | | |`enum`|`CoreDownloadProvider`| | | | | | |`enum`|`PythonDownloadProvider`| | | -|network|Enable Collaboration Server|Allow Binary Ninja to connect to collaboration servers to list Projects and Sync changes. (Ultimate Only|`boolean`|`True`|[`SettingsUserScope`]|<a id='network.enableCollaborationServer'>network.enableCollaborationServer</a>| +|network|Enable Collaboration Server|Allow Binary Ninja to connect to collaboration servers to list Projects and Sync changes. (Ultimate Only)|`boolean`|`True`|[`SettingsUserScope`]|<a id='network.enableCollaborationServer'>network.enableCollaborationServer</a>| |network|Enable Debuginfod Support|Enable using Debuginfod servers to fetch DWARF debug info for files with a .note.gnu.build-id section.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='network.enableDebuginfod'>network.enableDebuginfod</a>| |network|Enable External Resources|Allow Binary Ninja to download external images and resources when displaying markdown content (e.g. plugin descriptions).|`boolean`|`True`|[`SettingsUserScope`]|<a id='network.enableExternalResources'>network.enableExternalResources</a>| |network|Enable External URLs|Allow Binary Ninja to download and open external URLs.|`boolean`|`True`|[`SettingsUserScope`]|<a id='network.enableExternalUrls'>network.enableExternalUrls</a>| @@ -301,6 +320,7 @@ The setting will appear under the `Function Settings` submenu in applicable cont |network|Enable Release Notes|Allow Binary Ninja to connect to the update server to display release notes on new tabs.|`boolean`|`True`|[`SettingsUserScope`]|<a id='network.enableReleaseNotes'>network.enableReleaseNotes</a>| |network|Enable Update Channel List|Allow Binary Ninja to connect to the update server to determine which update channels are available.|`boolean`|`True`|[`SettingsUserScope`]|<a id='network.enableUpdateChannelList'>network.enableUpdateChannelList</a>| |network|Automatically Check Updates|Allow Binary Ninja to automatically connect to the update server to check for updates.|`boolean`|`True`|[`SettingsUserScope`]|<a id='network.enableUpdates'>network.enableUpdates</a>| +|network|Enable WARP|Whether or not to allow networked WARP requests. Turning this off will not disable local WARP functionality.|`boolean`|`False`|[`SettingsUserScope`]|<a id='network.enableWARP'>network.enableWARP</a>| |network|HTTPS Proxy|Override default HTTPS proxy settings. By default, HTTPS Proxy settings are detected and used automatically via environment variables (e.g., https_proxy). Alternatively, proxy settings are obtained from the Internet Settings section of the Windows registry, or the Mac OS X System Configuration Framework.|`string`| |[`SettingsUserScope`]|<a id='network.httpsProxy'>network.httpsProxy</a>| |network|Log Downloads|When enabled, will log all URLs through the download provider.|`boolean`|`False`|[`SettingsUserScope`]|<a id='network.logDownloads'>network.logDownloads</a>| |network|Enable Auto Downloading PDBs|Automatically search for and download pdb files from specified symbol servers.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='network.pdbAutoDownload'>network.pdbAutoDownload</a>| @@ -350,6 +370,7 @@ The setting will appear under the `Function Settings` submenu in applicable cont |rendering.format|Formatter|Specify the implementation used for formatting high level representations.|`string`|`GenericLineFormatter`|[`SettingsUserScope`]|<a id='rendering.format.formatterName'>rendering.format.formatterName</a>| | | | |`enum`|`GenericLineFormatter`| | | |rendering.format|Language Specific Formatters|Use language specific formatting when available.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='rendering.format.languageSpecificFormatters'>rendering.format.languageSpecificFormatters</a>| +|rendering.format|Max Ternary Simplification Tokens|Token threshold for simplifying valid conditionals to ternary expressions|`number`|`10`|[`SettingsUserScope`]|<a id='rendering.format.maxTernarySimplificationTokens'>rendering.format.maxTernarySimplificationTokens</a>| |rendering.format|Minimum Line Content Length|The minimum number of characters per line, not including indentation, before splitting across multiple lines.|`number`|`40`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='rendering.format.minimumLineContentLength'>rendering.format.minimumLineContentLength</a>| |rendering.format|Add New Lines Around Scopes|Add extra newlines in high level representations between closing scopes and the following statements.|`number`|`1`|[`SettingsUserScope`]|<a id='rendering.format.newLinesAroundScopes'>rendering.format.newLinesAroundScopes</a>| |rendering.format|Render Braces Around Single-Statement Blocks|If High Level Scoping Style is braces or bracesNewLine, should braces be rendered around if-statements, for-loops, etc. when the body is only one statement.|`string`|`exceptDeepest`|[`SettingsUserScope`]|<a id='rendering.format.renderBracesSingleStatement'>rendering.format.renderBracesSingleStatement</a>| @@ -363,7 +384,9 @@ The setting will appear under the `Function Settings` submenu in applicable cont |rendering.format|Tab Width|Width (in characters) of a single tab/indent in high level representations.|`number`|`4`|[`SettingsUserScope`]|<a id='rendering.format.tabWidth'>rendering.format.tabWidth</a>| |rendering.graph|Default Graph Layout|Specify the default layout implementation used when generating flow graphs.|`string`|`CoreFlowGraphLayout`|[`SettingsUserScope`]|<a id='rendering.graph.defaultLayout'>rendering.graph.defaultLayout</a>| | | | |`enum`|`CoreFlowGraphLayout`| | | -|rendering.strings|Maximum String Annotation Length|The maximum substring length that will be shown in string annotations.|`number`|`32`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='rendering.strings.maxAnnotationLength'>rendering.strings.maxAnnotationLength</a>| +|rendering.strings|Maximum String Annotation Length|The maximum substring length that will be shown in string annotations.|`number`|`512`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='rendering.strings.maxAnnotationLength'>rendering.strings.maxAnnotationLength</a>| +|rendering.strings|String Annotation Wrapping Width|The minimum width Strings will be wrapped to in the view. If less than minimum content length, Strings will wrap to minimum content length.|`number`|`40`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='rendering.strings.wrappingWidth'>rendering.strings.wrappingWidth</a>| +|rendering.variables|Show Variable Placement Information in Variable List|Show information about the placement of function variables in the variable list side bar.|`boolean`|`False`|[`SettingsUserScope`]|<a id='rendering.variables.showPlacementInformation'>rendering.variables.showPlacementInformation</a>| |snippets|Indentation Syntax Highlighting|String to use for indentation in snippets (tip: to use a tab, copy/paste a tab from another text field and paste here)|`string`|` `|[`SettingsUserScope`]|<a id='snippets.indentation'>snippets.indentation</a>| |snippets|Syntax Highlighting|Whether to syntax highlight (may be performance problems with very large snippets and the current highlighting implementation.)|`boolean`|`True`|[`SettingsUserScope`]|<a id='snippets.syntaxHighlight'>snippets.syntaxHighlight</a>| |triage|Triage Analysis Mode|Controls the amount of analysis performed on functions when opening for triage.|`string`|`basic`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='triage.analysisMode'>triage.analysisMode</a>| @@ -381,6 +404,7 @@ The setting will appear under the `Function Settings` submenu in applicable cont |ui|File Contents Lock|Lock the file contents to prevent accidental edits from the UI. File modification via API and menu based patching is explicitly allowed while the lock is enabled.|`boolean`|`True`|[`SettingsUserScope`]|<a id='ui.fileContentsLock'>ui.fileContentsLock</a>| |ui|Input Field History Limit|Controls the number of history entries to store for input dialogs.|`number`|`50`|[`SettingsUserScope`]|<a id='ui.inputHistoryCount'>ui.inputHistoryCount</a>| |ui|Manual Tooltip|Enable to prevent tooltips from showing without <ctrl> being held.|`boolean`|`False`|[`SettingsUserScope`]|<a id='ui.manualTooltip'>ui.manualTooltip</a>| +|ui|Maximum Number of Pinned Cross-reference Items|The number of cross-reference items to show in the pinned cross-reference widget. Value 0 means no limit.|`number`|`100000`|[`SettingsUserScope`]|<a id='ui.maxPinnedXrefItems'>ui.maxPinnedXrefItems</a>| |ui|Maximum Number of Cross-reference Items|The number of cross-reference items to show in the cross-reference widget. Value 0 means no limit.|`number`|`1000`|[`SettingsUserScope`]|<a id='ui.maxXrefItems'>ui.maxXrefItems</a>| |ui|Middle Click Navigation Action|Customize action on middle click (scroll wheel click) |`string`|`NewPane`|[`SettingsUserScope`]|<a id='ui.middleClickNavigationAction'>ui.middleClickNavigationAction</a>| | | | enum: Split to new pane and navigate|`enum`|`NewPane`| | | @@ -392,12 +416,15 @@ The setting will appear under the `Function Settings` submenu in applicable cont | | | enum: Split to new window and navigate|`enum`|`NewWindow`| | | |ui|Rainbow Braces|Colorize matching pairs of braces.|`boolean`|`True`|[`SettingsUserScope`]|<a id='ui.rainbowBraces'>ui.rainbowBraces</a>| |ui|Recent Command Limit|Specify a limit for the recent command palette history.|`number`|`5`|[`SettingsUserScope`]|<a id='ui.recentCommandLimit'>ui.recentCommandLimit</a>| -|ui|New Tab Recent File Limit|Specify a limit for the recent file history in the new tab window.|`number`|`10`|[`SettingsUserScope`]|<a id='ui.recentFileLimit'>ui.recentFileLimit</a>| +|ui|New Tab Recent File Limit|Number of recent files shown on the new tab page. Set to 0 to hide the list (history is still preserved).|`number`|`10`|[`SettingsUserScope`]|<a id='ui.recentFileLimit'>ui.recentFileLimit</a>| |ui|Show Indentation Guides|Show indentation markers in linear high-level IL|`boolean`|`True`|[`SettingsUserScope`]|<a id='ui.renderIndentGuides'>ui.renderIndentGuides</a>| |ui.experimental|Typelib Explorer|Enables Type Library Explorer tools. Requires a restart and creates a new sidebar icon that can be enabled.|`boolean`|`False`|[`SettingsUserScope`]|<a id='ui.experimental.typelibExplorer'>ui.experimental.typelibExplorer</a>| |ui.experimental|Developer Tools|Enables Qt UI development tooling. Requires a restart and creates a new sidebar icon that can be enabled.|`boolean`|`False`|[`SettingsUserScope`]|<a id='ui.experimental.uiDeveloperTools'>ui.experimental.uiDeveloperTools</a>| |ui.featureMap|Feature Map|Enable the feature map which displays a visual overview of the BinaryView.|`boolean`|`True`|[`SettingsUserScope`]|<a id='ui.featureMap.enable'>ui.featureMap.enable</a>| -|ui.featureMap|Feature Map File-Backed Only Mode|Exclude mapped regions that are not backed by a load file.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='ui.featureMap.fileBackedOnly'>ui.featureMap.fileBackedOnly</a>| +|ui.featureMap|Feature Map Inclusions|Regions to include in the feature map.|`string`|`all`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='ui.featureMap.inclusions'>ui.featureMap.inclusions</a>| +| | | enum: Feature map includes all regions.|`enum`|`all`| | | +| | | enum: Feature map includes only regions backed by memory.|`enum`|`backed`| | | +| | | enum: Feature map includes only regions in the load file.|`enum`|`file`| | | |ui.featureMap|Linear Feature Map|Show feature map in one dimension instead of two.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='ui.featureMap.linear'>ui.featureMap.linear</a>| |ui.featureMap|Feature Map Location|Location of the feature map.|`string`|`right`|[`SettingsUserScope`]|<a id='ui.featureMap.location'>ui.featureMap.location</a>| | | | enum: Feature map appears on the right side of the window.|`enum`|`right`| | | @@ -501,6 +528,7 @@ The setting will appear under the `Function Settings` submenu in applicable cont |ui.view|Disassembly Width|Maximum width of disassembly output, in characters. Not used in cases where disassembly width is automatically calculated, e.g. Linear View.|`number`|`80`|[`SettingsUserScope`]|<a id='ui.view.common.disassemblyWidth'>ui.view.common.disassemblyWidth</a>| |ui.view|Maximum Symbol Name Length|Maximum allowed length of symbol names (in characters) before truncation is used.|`number`|`64`|[`SettingsUserScope`]|<a id='ui.view.common.maxSymbolWidth'>ui.view.common.maxSymbolWidth</a>| |ui.view|Minimum Comment Spacing|Minimum amount of characters from the beginning of line before showing comments.|`number`|`0`|[`SettingsUserScope`]|<a id='ui.view.common.minimumCommentSpacing'>ui.view.common.minimumCommentSpacing</a>| +|ui.view|Entry/Exit Block Indicator Stroke Width|Width of the line drawn for entry/exit block indicators (whose display is controlled by the Show Entry/Exit Indicators on Blocks setting)|`number`|`1.0`|[`SettingsUserScope`]|<a id='ui.view.graph.blockIndicatorStrokeWidth'>ui.view.graph.blockIndicatorStrokeWidth</a>| |ui.view|Graph View IL Carousel|Specify the IL view types and order for use with the 'Cycle IL' actions in Graph view.|`array`|[`Disassembly`, `HighLevelIL`, `LowLevelIL`, `MediumLevelIL`]|[`SettingsUserScope`]|<a id='ui.view.graph.carousel'>ui.view.graph.carousel</a>| |ui.view|Show Entry/Exit Indicators on Blocks|Draws an extra line to indicate which blocks in Graph View are entry / exit points in the function. Blocks that do not return have their indicators drawn in a different color.|`boolean`|`True`|[`SettingsUserScope`]|<a id='ui.view.graph.entryExitBlockIndicators'>ui.view.graph.entryExitBlockIndicators</a>| |ui.view|Default IL for Graph View|Default IL for graph view. Other settings (e.g. 'ui.files.restore.viewState') have precedence over the default behavior.|`string`|`Disassembly`|[`SettingsUserScope`]|<a id='ui.view.graph.il'>ui.view.graph.il</a>| @@ -531,4 +559,4 @@ The setting will appear under the `Function Settings` submenu in applicable cont |updates|Show All Versions|Show all versions that are available for the current update channel in the UI.|`boolean`|`False`|[`SettingsUserScope`]|<a id='updates.showAllVersions'>updates.showAllVersions</a>| |updates|Use Enterprise Server For Updates|Use the enterprise server to check for updates. (Ultimate Only)|`boolean`|`False`|[`SettingsUserScope`]|<a id='updates.useEnterpriseServer'>updates.useEnterpriseServer</a>| |user|Email|The email that will be shown when collaborating with other users.|`string`| |[`SettingsUserScope`]|<a id='user.email'>user.email</a>| -|user|Name|The name that will be shown when collaborating with other users.|`string`| |[`SettingsUserScope`]|<a id='user.name'>user.name</a>| +|user|Name|The name that will be shown when collaborating with other users.|`string`| |[`SettingsUserScope`]|<a id='user.name'>user.name</a>|
\ No newline at end of file |
