From 79e29631ab7ee86d7749792a928e1f1637e34c83 Mon Sep 17 00:00:00 2001 From: Jordan Wiens Date: Mon, 14 Jun 2021 16:14:50 -0400 Subject: updated settings in getting started for 2.4 --- docs/getting-started.md | 127 +++++++++++++++++++++++++++--------------------- 1 file changed, 71 insertions(+), 56 deletions(-) (limited to 'docs') diff --git a/docs/getting-started.md b/docs/getting-started.md index 3b3ad851..b8ea3d92 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -531,46 +531,50 @@ Here's a list of all settings currently available from the UI: |Category|Setting|Description|Type|Default|Scope|Key| |---|---|---|---|---|---|---| -|analysis|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`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.conservative.disallowBranchToString| -|analysis|Never Save Undo Data|Never save previous user actions to the database.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.database.neverSaveUndoData| -|analysis|Suppress Reanalysis|Disable function reanalysis on database load when the product version or analysis settings change.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.database.suppressReanalysis| -|analysis|Alternate Type Propagation|Enable an alternate approach for function type propagation. This setting is experimental and may be useful for some binaries.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.experimental.alternateTypePropagation| -|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. This setting is experimental and may be useful for some binaries.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.experimental.correlatedMemoryValuePropagation| -|analysis|Heuristic Value Range Clamping|Use DataVariable state inferencing to help determine the possible size of a lookup table.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.experimental.heuristicRangeClamp| -|analysis|Always Analyze Indirect Branches|When using faster analysis modes, perform full analysis of functions containing indirect branches.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.forceIndirectBranches| -|analysis|Advanced Analysis Cache Size|Controls the number of functions for which the most recent generated advanced analysis is cached. Large values may result in very high memory utilization.|`number`|`64`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.limits.cacheSize| -|analysis|Max Function Analysis Time|Any functions that exceed this analysis time are deferred. A value of 0 disables this feature. The default value is 20 seconds. Time is specified in milliseconds.|`number`|`20000`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.limits.maxFunctionAnalysisTime| -|analysis|Max Function Size|Any functions over this size will not be automatically analyzed. A value of 0 disables analysis of functions and suppresses the related log warning. To override see FunctionAnalysisSkipOverride. Size is specified in bytes.|`number`|`65536`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.limits.maxFunctionSize| -|analysis|Max Function Update Count|Any functions that exceed this incremental update count are deferred. A value of 0 disables this feature.|`number`|`100`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.limits.maxFunctionUpdateCount| -|analysis|Max Lookup Table Size|Limits the maximum number of entries for a lookup table.|`number`|`4095`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.limits.maxLookupTableSize| -|analysis|Maximum String Annotation Length|The maximum substring length that will be shown in string annotations.|`number`|`32`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|rendering.strings.maxAnnotationLength| -|analysis|Minimum String Length|The minimum length for strings created during auto-analysis|`number`|`4`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.limits.minStringLength| -|analysis|Worker Thread Count|The number of worker threads available for concurrent analysis activities.|`number`|`15`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.limits.workerThreadCount| -|analysis|Autorun Linear Sweep|Automatically run linear sweep when opening a binary for analysis.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.linearSweep.autorun| -|analysis|Control Flow Graph Analysis|Enable the control flow graph analysis (Analysis Phase 3) portion of linear sweep.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.linearSweep.controlFlowGraph| -|analysis|Detailed Linear Sweep Log Information|Linear sweep generates additional log information at the InfoLog level.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.linearSweep.detailedLogInfo| -|analysis|Entropy Heuristics for Linear Sweep|Enable the application of entropy based heuristics to the function search space for linear sweep.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.linearSweep.entropyHeuristics| -|analysis|Max Linear Sweep Work Queues|The number of binary regions under concurrent analysis.|`number`|`64`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.linearSweep.maxWorkQueues| -|analysis|Analysis Mode|Controls the amount of analysis performed on functions.|`string`|`full`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.mode| +|analysis|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`]|analysis.conservative.disallowBranchToString| +|analysis|Never Save Undo Data|Never save previous user actions to the database.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.database.neverSaveUndoData| +|analysis|Suppress Reanalysis|Disable function reanalysis on database load when the product version or analysis settings change.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.database.suppressReanalysis| +|analysis|Alternate Type Propagation|Enable an alternate approach for function type propagation. This setting is experimental and may be useful for some binaries.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.experimental.alternateTypePropagation| +|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. This setting is experimental and may be useful for some binaries.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.experimental.correlatedMemoryValuePropagation| +|analysis|Heuristic Value Range Clamping|Use DataVariable state inferencing to help determine the possible size of a lookup table.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.experimental.heuristicRangeClamp| +|analysis|Always Analyze Indirect Branches|When using faster analysis modes, perform full analysis of functions containing indirect branches.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.forceIndirectBranches| +|analysis|Initial Analysis Hold|Enabling the analysis hold discards all future analysis updates until clearing the hold. This setting only applies to analysis in the InitialState.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.initialAnalysisHold| +|analysis|Advanced Analysis Cache Size|Controls the number of functions for which the most recent generated advanced analysis is cached. Large values may result in very high memory utilization.|`number`|`64`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.limits.cacheSize| +|analysis|Max Function Analysis Time|Any functions that exceed this analysis time are deferred. A value of 0 disables this feature. The default value is 20 seconds. Time is specified in milliseconds.|`number`|`20000`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.limits.maxFunctionAnalysisTime| +|analysis|Max Function Size|Any functions over this size will not be automatically analyzed. A value of 0 disables analysis of functions and suppresses the related log warning. To override see FunctionAnalysisSkipOverride. Size is specified in bytes.|`number`|`65536`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.limits.maxFunctionSize| +|analysis|Max Function Update Count|Any functions that exceed this incremental update count are deferred. A value of 0 disables this feature.|`number`|`100`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.limits.maxFunctionUpdateCount| +|analysis|Max Lookup Table Size|Limits the maximum number of entries for a lookup table.|`number`|`4095`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.limits.maxLookupTableSize| +|analysis|Minimum String Length|The minimum length for strings created during auto-analysis|`number`|`4`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.limits.minStringLength| +|analysis|Worker Thread Count|The number of worker threads available for concurrent analysis activities.|`number`|`15`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.limits.workerThreadCount| +|analysis|Autorun Linear Sweep|Automatically run linear sweep when opening a binary for analysis.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.linearSweep.autorun| +|analysis|Control Flow Graph Analysis|Enable the control flow graph analysis (Analysis Phase 3) portion of linear sweep.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.linearSweep.controlFlowGraph| +|analysis|Detailed Linear Sweep Log Information|Linear sweep generates additional log information at the InfoLog level.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.linearSweep.detailedLogInfo| +|analysis|Entropy Heuristics for Linear Sweep|Enable the application of entropy based heuristics to the function search space for linear sweep.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.linearSweep.entropyHeuristics| +|analysis|Max Linear Sweep Work Queues|The number of binary regions under concurrent analysis.|`number`|`64`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.linearSweep.maxWorkQueues| +|analysis|Permissive Linear Sweep|Permissive linear sweep searches all executable segments regardless of read/write permissions. By default, linear sweep searches sections that are ReadOnlyCodeSectionSemantics, or if no sections are defined, segments that are read/execute.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.linearSweep.permissive| +|analysis|Analysis Mode|Controls the amount of analysis performed on functions.|`string`|`full`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.mode| | | | enum: Only perform control flow analysis on the binary. Cross references are valid only for direct function calls. [Disassembly Only]|`enum`|`controlFlow`| | | | | | enum: Perform fast initial analysis of the binary. This mode does not analyze types or data flow through stack variables. [LLIL and Equivalents]|`enum`|`basic`| | | | | | enum: Perform analysis which includes type propagation and data flow. [MLIL and Equivalents]|`enum`|`intermediate`| | | | | | enum: Perform full analysis of the binary.|`enum`|`full`| | | -|analysis|Autorun Function Signature Matcher|Automatically run the function signature matcher when opening a binary for analysis.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.signatureMatcher.autorun| -|analysis|Auto Function Analysis Suppression|Enable suppressing analysis of automatically discovered functions.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.suppressNewAutoFunctionAnalysis| -|analysis|Tail Call Heuristics|Attempts to recover function starts that may be obscured by tail call optimization (TCO). Specifically, branch targets within a function are analyzed as potential function starts.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.tailCallHeuristics| -|analysis|Tail Call Translation|Performs tail call translation for jump instructions where the target is an existing function start.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.tailCallTranslation| -|analysis|Simplify Templates|Simplify common C++ templates that are expanded with default arguments at compile time (eg. `std::__cxx11::basic_string, std::allocator >` to `std::wstring`).|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.types.TemplateSimplifier| -|analysis|Unicode Blocks|Defines which unicode blocks to consider when searching for strings.|`array`|[]|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.unicode.blocks| -|analysis|UTF-16 Encoding|Whether or not to consider UTF-16 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.unicode.utf16| -|analysis|UTF-32 Encoding|Whether or not to consider UTF-32 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.unicode.utf32| -|analysis|UTF-8 Encoding|Whether or not to consider UTF-8 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|analysis.unicode.utf8| +|analysis|Autorun Function Signature Matcher|Automatically run the function signature matcher when opening a binary for analysis.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.signatureMatcher.autorun| +|analysis|Auto Function Analysis Suppression|Enable suppressing analysis of automatically discovered functions.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.suppressNewAutoFunctionAnalysis| +|analysis|Tail Call Heuristics|Attempts to recover function starts that may be obscured by tail call optimization (TCO). Specifically, branch targets within a function are analyzed as potential function starts.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.tailCallHeuristics| +|analysis|Tail Call Translation|Performs tail call translation for jump instructions where the target is an existing function start.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.tailCallTranslation| +|analysis|Simplify Templates|Simplify common C++ templates that are expanded with default arguments at compile time (eg. `std::__cxx11::basic_string, std::allocator >` to `std::wstring`).|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.types.TemplateSimplifier| +|analysis|Unicode Blocks|Defines which unicode blocks to consider when searching for strings.|`array`|[]|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.unicode.blocks| +|analysis|UTF-16 Encoding|Whether or not to consider UTF-16 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.unicode.utf16| +|analysis|UTF-32 Encoding|Whether or not to consider UTF-32 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.unicode.utf32| +|analysis|UTF-8 Encoding|Whether or not to consider UTF-8 code points when searching for strings.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|analysis.unicode.utf8| |arch|x86 Disassembly Case|Specify the case for opcodes, operands, and registers.|`boolean`|`True`|[`SettingsUserScope`]|arch.x86.disassembly.lowercase| |arch|x86 Disassembly Separator|Specify the token separator between operands.|`string`|`, `|[`SettingsUserScope`]|arch.x86.disassembly.separator| |arch|x86 Disassembly Syntax|Specify disassembly syntax for the x86/x86_64 architectures.|`string`|`BN_INTEL`|[`SettingsUserScope`]|arch.x86.disassembly.syntax| | | | enum: Sets the disassembly syntax to a simplified Intel format. (TBD) |`enum`|`BN_INTEL`| | | | | | enum: Sets the disassembly syntax to Intel format. (Destination on the left) |`enum`|`INTEL`| | | | | | enum: Sets the disassembly syntax to AT&T format. (Destination on the right) |`enum`|`AT&T`| | | +|bnil-graph|Show Common ILs|Show common forms (non-SSA, non-mapped) in the output.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|bnil-graph.showCommon| +|bnil-graph|Include MMLIL|Show the MappedMediumLevelIL form in the output.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|bnil-graph.showMapped| +|bnil-graph|Include SSA|Include SSA forms in the output.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|bnil-graph.showSSA| |corePlugins|Aarch64 Architecture|Enable the built-in Aarch64 architecture module.|`boolean`|`True`|[`SettingsUserScope`]|corePlugins.architectures.aarch64| |corePlugins|ARMv7 Architecture|Enable the built-in ARMv7 architecture module.|`boolean`|`True`|[`SettingsUserScope`]|corePlugins.architectures.armv7| |corePlugins|MIPS Architecture|Enable the built-in MIPS architecture module.|`boolean`|`True`|[`SettingsUserScope`]|corePlugins.architectures.mips| @@ -584,11 +588,6 @@ Here's a list of all settings currently available from the UI: |corePlugins|macOS Platform|Enable the built-in macOS platform module.|`boolean`|`True`|[`SettingsUserScope`]|corePlugins.platforms.mac| |corePlugins|Windows Platform|Enable the built-in Windows platform module.|`boolean`|`True`|[`SettingsUserScope`]|corePlugins.platforms.windows| |corePlugins|Triage Plugin|Enable the built-in triage plugin.|`boolean`|`True`|[`SettingsUserScope`]|corePlugins.triage| -|downloadClient|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`]|downloadClient.httpsProxy| -|downloadClient|Download Provider|Specify the registered DownloadProvider which enables resource fetching over HTTPS.|`string`|`CoreDownloadProvider`|[`SettingsUserScope`]|downloadClient.providerName| -| | | |`enum`|`QtDownloadProvider`| | | -| | | |`enum`|`CoreDownloadProvider`| | | -| | | |`enum`|`PythonDownloadProvider`| | | |files|Auto Rebase Load File|When opening a file with options, automatically rebase an image which has a default load address of zero to 4MB for 64-bit binaries, or 64KB for 32-bit binaries.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`]|files.pic.autoRebase| |files|Universal Mach-O Architecture Preference|Specify an architecture preference for automatic loading of a Mach-O file from a Universal archive. By default, the first object file in the listing is loaded.|`array`|[]|[`SettingsUserScope`]|files.universal.architecturePreference| | | | |`enum`|`alpha`| | | @@ -607,6 +606,16 @@ Here's a list of all settings currently available from the UI: | | | |`enum`|`vax`| | | | | | |`enum`|`x86`| | | | | | |`enum`|`x86_64`| | | +|network|Download Provider|Specify the registered DownloadProvider which enables resource fetching over HTTPS.|`string`|`CoreDownloadProvider`|[`SettingsUserScope`]|network.downloadProviderName| +| | | |`enum`|`CoreDownloadProvider`| | | +| | | |`enum`|`PythonDownloadProvider`| | | +|network|Enable External Resources|Allow Binary Ninja to download external images and resources when displaying markdown content.|`boolean`|`True`|[`SettingsUserScope`]|network.enableExternalResources| +|network|Enable External URLs|Allow Binary Ninja to download and open external URLs.|`boolean`|`True`|[`SettingsUserScope`]|network.enableExternalUrls| +|network|Enable Plugin Manager|Allow Binary Ninja to connect to the update server to check for new plugins and plugin updates.|`boolean`|`True`|[`SettingsUserScope`]|network.enablePluginManager| +|network|Enable Release Notes|Allow Binary Ninja to connect to the update server to display release notes on new tabs.|`boolean`|`True`|[`SettingsUserScope`]|network.enableReleaseNotes| +|network|Enable Update Channel List|Allow Binary Ninja to connect to the update server to determine which update channels are available.|`boolean`|`True`|[`SettingsUserScope`]|network.enableUpdateChannelList| +|network|Enable Updates|Allow Binary Ninja to connect to the update server to check for updates.|`boolean`|`True`|[`SettingsUserScope`]|network.enableUpdates| +|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`]|network.httpsProxy| |pdb|Auto Download PDBs|Automatically download pdb files from specified symbol servers.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`]|pdb.autoDownload| |pdb|Absolute PDB Symbol Store Path|Absolute path specifying where the PDB symbol store exists on this machine, overrides relative path.|`string`| |[`SettingsProjectScope`, `SettingsUserScope`]|pdb.localStoreAbsolute| |pdb|Relative PDB Symbol Store Path|Path *relative* to the binaryninja _user_ directory, specifying the pdb symbol store.|`string`|`symbols`|[`SettingsProjectScope`, `SettingsUserScope`]|pdb.localStoreRelative| @@ -629,23 +638,30 @@ Here's a list of all settings currently available from the UI: | | | enum: Print Alert messages to stderr on the terminal device.|`enum`|`AlertLog`| | | | | | enum: Disable all logging in headless operation.|`enum`|`Disabled`| | | |python|Python Virtual Environment Site-Packages|The 'site-packages' directory for your python virtual environment.|`string`| |[`SettingsUserScope`]|python.virtualenv| -|triage|Triage Analysis Mode|Controls the amount of analysis performed on functions when opening for triage.|`string`|`basic`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|triage.analysisMode| +|rendering|HLIL Scoping Style|Controls the display of new scopes in HLIL.|`string`|`default`|[`SettingsUserScope`]|rendering.hlil.scopingStyle| +| | | enum: Default BNIL scoping style.|`enum`|`default`| | | +| | | enum: Braces around scopes, same line.|`enum`|`braces`| | | +| | | enum: Braces around scopes, new line.|`enum`|`bracesNewLine`| | | +|rendering|Maximum String Annotation Length|The maximum substring length that will be shown in string annotations.|`number`|`32`|[`SettingsUserScope`]|rendering.strings.maxAnnotationLength| +|snippets|Indentation Syntax highlighting for snippets|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`]|snippets.indentation| +|snippets|Syntax highlighting for snippets|Whether to syntax highlight (may be performance problems with very large snippets and the current highlighting implementation.)|`boolean`|`True`|[`SettingsUserScope`]|snippets.syntaxHighlight| +|triage|Triage Analysis Mode|Controls the amount of analysis performed on functions when opening for triage.|`string`|`basic`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|triage.analysisMode| | | | enum: Only perform control flow analysis on the binary. Cross references are valid only for direct function calls.|`enum`|`controlFlow`| | | | | | enum: Perform fast initial analysis of the binary. This mode does not analyze types or data flow through stack variables.|`enum`|`basic`| | | | | | enum: Perform full analysis of the binary.|`enum`|`full`| | | -|triage|Triage Shows Hidden Files|Whether the Triage file picker shows hidden files.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|triage.hiddenFiles| -|triage|Triage Linear Sweep Mode|Controls the level of linear sweep performed when opening for triage.|`string`|`partial`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|triage.linearSweep| +|triage|Triage Shows Hidden Files|Whether the Triage file picker shows hidden files.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|triage.hiddenFiles| +|triage|Triage Linear Sweep Mode|Controls the level of linear sweep performed when opening for triage.|`string`|`partial`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|triage.linearSweep| | | | enum: Do not perform linear sweep of the binary.|`enum`|`none`| | | | | | enum: Perform linear sweep on the binary, but skip the control flow graph analysis phase.|`enum`|`partial`| | | | | | enum: Perform full linear sweep on the binary.|`enum`|`full`| | | -|triage|Always Prefer Triage Summary View|Always prefer opening binaries in Triage Summary view, even when performing full analysis.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|triage.preferSummaryView| -|triage|Prefer Triage Summary View for Raw Files|Prefer opening raw files in Triage Summary view.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|triage.preferSummaryViewForRaw| +|triage|Always Prefer Triage Summary View|Always prefer opening binaries in Triage Summary view, even when performing full analysis.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|triage.preferSummaryView| +|triage|Prefer Triage Summary View for Raw Files|Prefer opening raw files in Triage Summary view.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|triage.preferSummaryViewForRaw| |ui|Color Blind|Choose colors that are visible to those with red/green color blindness.|`boolean`|`False`|[`SettingsUserScope`]|ui.colorBlind| |ui|Debug Mode|Enable developer debugging features (Additional views: Lifted IL, and IL SSA forms).|`boolean`|`False`|[`SettingsUserScope`]|ui.debugMode| |ui|Dock Window Title Bars|Enable to display title bars for dockable windows attached to a main window.|`boolean`|`True`|[`SettingsUserScope`]|ui.docks.titleBars| |ui|Feature Map Auto-Rotate|Automatically rotate the feature map orientation based on the current layout and dimensions.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.featureMap.autoRotate| -|ui|Feature Map|Enable the feature map which displays a visual overview of the BinaryView.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|ui.featureMap.enable| -|ui|Feature Map File-Backed Only Mode|Exclude mapped regions that are not backed by a load file.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|ui.featureMap.fileBackedOnly| +|ui|Feature Map|Enable the feature map which displays a visual overview of the BinaryView.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|ui.featureMap.enable| +|ui|Feature Map File-Backed Only Mode|Exclude mapped regions that are not backed by a load file.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|ui.featureMap.fileBackedOnly| |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`]|ui.fileContentsLock| |ui|Auto Open with Options|Specify the file types which automatically open with the options dialog.|`array`|[`Mapped`, `Universal`]|[`SettingsUserScope`]|ui.files.openWithOptions| | | | |`enum`|`Mapped`| | | @@ -653,18 +669,18 @@ Here's a list of all settings currently available from the UI: | | | |`enum`|`Mach-O`| | | | | | |`enum`|`PE`| | | | | | |`enum`|`Universal`| | | -|ui|Antialiasing|Select font antialiasing style.|`string`|`subpixel`|[`SettingsUserScope`]|ui.font.antialiasing| +|ui|Font Antialiasing Style|Which antialiasing style should be used when drawing fonts.|`string`|`subpixel`|[`SettingsUserScope`]|ui.font.antialiasing| | | | enum: Perform subpixel antialiasing on fonts.|`enum`|`subpixel`| | | | | | enum: Avoid subpixel antialiasing on fonts if possible.|`enum`|`grayscale`| | | | | | enum: No subpixel antialiasing at High DPI.|`enum`|`hidpi`| | | | | | enum: No font antialiasing.|`enum`|`none`| | | -|ui|Bold Fonts|Allow bold fonts.|`boolean`|`True`|[`SettingsUserScope`]|ui.font.bold| -|ui|Application Font Name|UI font family selection.|`string`|`Open Sans`|[`SettingsUserScope`]|ui.font.app.name| -|ui|Application Font Size|UI font point size.|`number`|`11`|[`SettingsUserScope`]|ui.font.app.size| -|ui|View Font Name|Font family selection.|`string`|`Source Code Pro`|[`SettingsUserScope`]|ui.font.view.name| -|ui|View Font Size|Font point size selection.|`number`|`12`|[`SettingsUserScope`]|ui.font.view.size| -|ui|View Line Spacing|Specify an additional distance between adjacent baselines.|`number`|`1`|[`SettingsUserScope`]|ui.font.view.spacing| -|ui|View Font Style|Font Style selection.|`string`| |[`SettingsUserScope`]|ui.font.view.style| +|ui|Application Font Name|The font to be used in UI elements, e.g. buttons, text fields, etc.|`string`|`Open Sans`|[`SettingsUserScope`]|ui.font.app.name| +|ui|Application Font Size|The desired font size (in points) for interface elements.|`number`|`11`|[`SettingsUserScope`]|ui.font.app.size| +|ui|Allow Bold View Fonts|Should bold view fonts be allowed?|`boolean`|`True`|[`SettingsUserScope`]|ui.font.view.bold| +|ui|View Font Name|The font to be used in disassembly views, the hex editor, and anywhere a monospaced font is appropriate.|`string`|`Source Code Pro`|[`SettingsUserScope`]|ui.font.view.name| +|ui|View Font Size|The desired font size (in points) for the view font.|`number`|`12`|[`SettingsUserScope`]|ui.font.view.size| +|ui|View Line Spacing|How much additional spacing should be inserted between baselines in views.|`number`|`1`|[`SettingsUserScope`]|ui.font.view.spacing| +|ui|View Font Style|The subfamily (e.g. Regular, Medium) of the view font that should be used.|`string`| |[`SettingsUserScope`]|ui.font.view.style| |ui|Number of history entries to store.|Controls the number of history entries to store for input dialogs.|`number`|`50`|[`SettingsUserScope`]|ui.inputHistoryCount| |ui|Maximum UI Log Size|Set the maximum number of lines for the UI log.|`number`|`10000`|[`SettingsUserScope`]|ui.log.maxSize| |ui|Minimum UI Log Level|Set the minimum log level for the UI log.|`string`|`InfoLog`|[`SettingsUserScope`]|ui.log.minLevel| @@ -674,6 +690,9 @@ Here's a list of all settings currently available from the UI: | | | enum: Display Error and Alert messages to log console.|`enum`|`ErrorLog`| | | | | | enum: Display Alert messages to log console.|`enum`|`AlertLog`| | | |ui|Manual Tooltip|Enable to prevent tooltips from showing without <ctrl> being held.|`boolean`|`False`|[`SettingsUserScope`]|ui.manualTooltip| +|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`]|ui.maxXrefItems| +|ui|Offer to Open Existing Database File|Enable prompting to open an existing BNDB if one is found with a matching filename in the same directory as binary being opened.|`boolean`|`True`|[`SettingsUserScope`]|ui.messages.confirmOpenExistingDatabase| +|ui|Enable Warning about Installing Community Plugins|Enable showing warning message about safety and efficacy of community plugins.|`boolean`|`True`|[`SettingsUserScope`]|ui.messages.warnCommunityInstall| |ui|Recent Command Limit|Specify a limit for the recent command palette history.|`number`|`5`|[`SettingsUserScope`]|ui.recentCommandLimit| |ui|Recent File Limit|Specify a limit for the recent file history in the new tab window.|`number`|`10`|[`SettingsUserScope`]|ui.recentFileLimit| |ui|Show Indentation Guides|Show indentation markers in linear high-level IL|`boolean`|`True`|[`SettingsUserScope`]|ui.renderIndentGuides| @@ -681,15 +700,12 @@ Here's a list of all settings currently available from the UI: | | | |`enum`|`Python`| | | |ui|Scripting Provider History Size|Specify the maximum number of lines contained in the scripting history.|`number`|`1000`|[`SettingsUserScope`]|ui.scripting.historySize| |ui|Display Settings Identifiers|Display setting identifiers in the UI settings view.|`boolean`|`False`|[`SettingsUserScope`]|ui.settings.displayIdentifiers| -|ui|HLIL Scoping Style|Controls the display of new scopes in HLIL.|`string`|`default`|[`SettingsProjectScope`, `SettingsUserScope`, `SettingsResourceScope`]|rendering.hlil.scopingStyle| -| | | enum: Default BNIL scoping style.|`enum`|`default`| | | -| | | enum: Braces around scopes, same line.|`enum`|`braces`| | | -| | | enum: Braces around scopes, new line.|`enum`|`bracesNewLine`| | | |ui|Show Exported Data Variables|Show exported data variables in the symbol list.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.symbolList.showExportedDataVars| |ui|Show Exported Functions|Show exported functions in the symbol list.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.symbolList.showExportedFunctions| |ui|Show Imports|Show imports in the symbol list.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.symbolList.showImports| |ui|Show Local Data Variables|Show local data variables in the symbol list.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.symbolList.showLocalDataVars| |ui|Show Local Functions|Show local functions in the symbol list.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.symbolList.showLocalFunctions| +|ui|Max Tab Filename Length|Truncate filenames longer than this in tab titles.|`number`|`25`|[`SettingsUserScope`]|ui.tabs.maxFileLength| |ui|Theme|Customize the appearance and style of Binary Ninja.|`string`|`Dark`|[`SettingsUserScope`]|ui.theme| |ui|Graph View IL Carousel|Specify the IL view types and order for use with the 'Cycle IL' actions in Graph view.|`array`|[`Disassembly`, `LowLevelIL`, `MediumLevelIL`, `HighLevelIL`]|[`SettingsUserScope`]|ui.view.graph.carousel| | | | |`enum`|`Disassembly`| | | @@ -713,6 +729,7 @@ Here's a list of all settings currently available from the UI: | | | |`enum`|`MappedMediumLevelILSSAForm`| | | | | | |`enum`|`HighLevelIL`| | | | | | |`enum`|`HighLevelILSSAForm`| | | +|ui|Graph View Padding|Add extra space around graphs, proportional to the view's size.|`number`|`0.0`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.view.graph.padding| |ui|Prefer Disassembly Graph|Prefer graph view over linear view on startup.|`boolean`|`False`|[`SettingsUserScope`]|ui.view.graph.preferred| |ui|Linear View IL Carousel|Specify the IL view types and order for use with the 'Cycle IL' actions in Linear view.|`array`|[`Disassembly`, `LowLevelIL`, `MediumLevelIL`, `HighLevelIL`]|[`SettingsUserScope`]|ui.view.linear.carousel| | | | |`enum`|`Disassembly`| | | @@ -762,9 +779,7 @@ Here's a list of all settings currently available from the UI: |ui|Reflection View IL Synchronization|Reflection view follows main view IL changes according to the Reflection View IL Map.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.view.reflection.ilSync| |ui|Reflection View Location Synchronization|Reflection view follows navigation actions in the main view.|`boolean`|`True`|[`SettingsProjectScope`, `SettingsUserScope`]|ui.view.reflection.locationSync| |ui|TypeView Line Numbers|Controls the display of line numbers in the types view.|`boolean`|`True`|[`SettingsUserScope`]|ui.view.types.lineNumbers| -|ui|Default filter for types view|Default type filter to use in types view.|`enum`|`all`|[`SettingsUserScope`]|ui.view.types.defaultTypeFilter| |ui|File Path in Window Title|Controls whether the window title includes the full file path for the current file.|`boolean`|`False`|[`SettingsUserScope`]|ui.window.title.showPath| -|updates|Active Content|Allow Binary Ninja to connect to the update server to check for updates and release notes.|`boolean`|`True`|[`SettingsUserScope`]|updates.activeContent| |updates|Update Channel Preferences|Select update channel and version.|`string`|`None`|[]|updates.channelPreferences| |updates|Show All Versions|Show all versions that are available for the current update channel in the UI.|`boolean`|`False`|[`SettingsUserScope`]|updates.showAllVersions| |user|Email|The email that will be shown when collaborating with other users.|`string`| |[`SettingsUserScope`]|user.email| -- cgit v1.3.1