Engines Configuration - JEB Decompiler
Author: PNF Software

# Engines Configuration

JEB clients store the JEB engines configuration, also known as the back-end configuration, in the `bin/jeb-engines.cfg`. The configuration file is a key-value store where keys are fully-qualified identifiers that start with a leading dot.

This file contains general back-end settings as well as the settings of common plugins shipping with most distributions of JEB. Each plugin has its own sub-namespace (`.PluginType`) within the `.parsers` namespace. Keys pertaining to document rendering are stored in a sub-region named `.text`.

The public keys can safely be changed by a user. They are accessible in the Options dialog, Advanced mode, panel Engines. The engines configuration acts as a template for your projects' settings. Once a project is loaded, an additional tab named Project-Specific allows the user to modify the back-end settings of the project only, without changing the global back-end settings.

)

### `.DatabaseBackupBeforeSave`

Description: Before saving a project to JDB2, the current JDB2 database is copied to the %TEMP% folder and will be used as backup is any problem showed up during saving.

Type and Default: Boolean(true)

### `.DevPluginClassnames`

Description: Classnames of your in-development plugin entry-point classes (they are not JARs)

Type and Default: String("")

### `.DevPluginClasspath`

Description: Classpath for your in-development plugins (they are not JARs)

Type and Default: String("")

### `.LoadPythonPlugins`

Description: Specify whether or not JEB back-end plugins written in Python are allowed and should be loaded

Type and Default: Boolean(true)

### `.NetworkProxy`

Description: Network proxy settings for JEB back-end components. The format of this property is: 'protocol|hostname|port|user|pass'. Protocol can be http or socks. User and password are optional (needed only if your proxy requires authentication)

Type and Default: String("")

### `.PluginsFolder`

Description: Location of the JEB back-end plugins folder

Type and Default: String("$JEB_HOME/coreplugins")

### `.SiglibsAutoLoadPackages`

Description: Specify whether or not signature libraries should be automatically loaded when target file is deemed suitable

Type and Default: Boolean(true)

### `.SiglibsAutoModeSaveCount`

Description: Number of signatures that need to be created before saving to a signature package; if 0 the package is not saved by this manager

Type and Default: Integer(10)

### `.SiglibsFolder`

Description: Folder containing native code signature libraries

Type and Default: String("$JEB_HOME/siglibs")

### `.TypelibsFolder`

Description: Folder containing native type libraries

Type and Default: String("$JEB_HOME/typelibs")

### `.parsers.EnforceVersionChecks`

Description: Verify that the plugins's requirements in terms for JEB are met. Ex: if enabled, a plugin requiring JEB [2.3.10, 3.0.7] will not be loaded if JEB is older than 2.3.10 or newer than 3.0.7

Type and Default: Boolean(true)

### `.parsers.apk.AndroidJavadocRoot`

Description: Location of Java/Android API documentation files; by default, local files stored in your Android SDK folder will be preferred over web-based API doc

Type and Default: String("($ANDROID_HOME/docs|$ANDROID_SDK_HOME/docs|$ANDROID_SDK_ROOT/docs)/reference/;https://developer.android.com/reference/;($JAVA_HOME)/docs/api")

### `.parsers.apk.DisableAssetsProcessingThreshold`

Description: The plugin will suggest disabling the auto-processing of APK assets if the number of asset files exceed that threshold (0 to disable)

Type and Default: Integer(300){0+}

### `.parsers.apk.DisableResourcesProcessingThreshold`

Description: The plugin will suggest disabling the auto-processing of APK resources if the number of resource files exceed that threshold (0 to disable)

Type and Default: Integer(500){0+}

### `.parsers.apk.FrameworksDirectory`

Description: Directory containing additional frameworks. Leave empty to use the default, which is the '.jeb-android-frameworks' directory in your Home folder

Type and Default: Path("")

### `.parsers.apk.GenerateAapt2Output`

Description: Tick to generate an additional text fragment that will describe the APK resources similarly to AAPT2's output

Type and Default: Boolean(false)

### `.parsers.apk.MergeMultiDex`

Description: Attempt to merge the DEX files of a multi-DEX APK into a single, unified DEX unit

Type and Default: Boolean(true)

### `.parsers.apk.ProcessAssets`

Description: Process files in the APK's Assets directory

Type and Default: Boolean(true)

### `.parsers.apk.ProcessBytecode`

Description: Process the Dalvik bytecode (classes[N].dex)

Type and Default: Boolean(true)

### `.parsers.apk.ProcessCertificates`

Description: Process the APK's certificates data (legacy, v1, and v2)

Type and Default: Boolean(true)

### `.parsers.apk.ProcessLibraries`

Description: Process native code (.so) libraries

Type and Default: Boolean(true)

### `.parsers.apk.ProcessManifest`

Description: Decode and process the APK Manifest

Type and Default: Boolean(true)

### `.parsers.apk.ProcessResources`

Description: Decode and process the Resources (if this option is true, the Manifest is always processed)

Type and Default: Boolean(true)

### `.parsers.arm.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.arm.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.arm.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.arm.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.arm.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.arm.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.arm.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.arm.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.arm.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.arm.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.arm.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.arm.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.arm.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.arm.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.arm.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.arm.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.arm.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.arm.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.arm.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.arm.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.arm.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.arm.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.arm64.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.arm64.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.arm64.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.arm64.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.arm64.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.arm64.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.arm64.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.arm64.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.arm64.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.arm64.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.arm64.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.arm64.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.arm64.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.arm64.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.arm64.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.arm64.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.arm64.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.arm64.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.arm64.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.arm64.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.arm64.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.arm64.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.armT32.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.armT32.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.armT32.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.armT32.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.armT32.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.armT32.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.armT32.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.armT32.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.armT32.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.armT32.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.armT32.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.armT32.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.armT32.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.armT32.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.armT32.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.armT32.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.armT32.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.armT32.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.armT32.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.armT32.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.armT32.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.armT32.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.avr.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.avr.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.avr.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.avr.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.avr.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.avr.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.avr.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.avr.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.avr.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.avr.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.avr.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.avr.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.avr.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.avr.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.avr.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.avr.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.avr.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.avr.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.avr.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.avr.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.avr.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.avr.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.dbug_apk.AttachPortRangeSize`

Description: Number of ports to try after the preferred port if the preferred port is in useby another program

Type and Default: Integer(20){1-100}

### `.parsers.dbug_apk.AttachPortRangeStart`

Description: Preferred TCP port to use and listen to when attaching to the JDWP debugger

Type and Default: Integer(8900){1024-65535}

### `.parsers.dbug_apk.BlockingQueryTimeoutSeconds`

Description: Maximum time in seconds to wait for a response from the debugger server

Type and Default: Integer(15){0+}

### `.parsers.dbug_apk.NativeAttachPortRangeSize`

Description: Number of ports to try after the preferred port if the preferred port is in useby another program

Type and Default: Integer(20){1-100}

### `.parsers.dbug_apk.NativeAttachPortRangeStart`

Description: Preferred TCP port to use and listen to when attaching to the native debugger

Type and Default: Integer(8950){1024-65535}

### `.parsers.dbug_apk.PreferLldbserver`

Description: Prefer the use of LLDB server over GDB server for debugging native Android code.

Type and Default: Boolean(true)

### `.parsers.dbug_apk.PreferredGdbserverVersion`

Description: Preferred GDB server version to use. JEB does not ship with all versions of GDB server for all platforms. See the core/assets/ folder in your jeb.jar software archive.It is recommended to use the default.

Type and Default: String("")

### `.parsers.dbug_apk.PreferredLldbserverVersion`

Description: Preferred LLDB server version to use. JEB does not ship with all versions of LLDB server for all platforms. See the core/assets/ folder in your jeb.jar software archive.It is recommended to use the default.

Type and Default: String("")

### `.parsers.dbug_apk.UseNativeDebugger`

Description: If the client does not provide this information, this setting is used to determine whether the native debugger should be used as well. Use DEFAULT to let JEB choose (which will result in a yes if and only if a native library folder containing SO files exist), else use ALWAYS or NEVER.

Type and Default: String("DEFAULT")

### `.parsers.dbug_elf.BlockingQueryTimeoutSeconds`

Description: Maximum time in seconds to wait for a response from the debugger server

Type and Default: Integer(15){0+}

### `.parsers.dcmp_arm.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_arm.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_arm.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_arm.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_arm.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_arm.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_arm.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_arm.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(true)

### `.parsers.dcmp_arm.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_arm.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_arm.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_arm64.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_arm64.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_arm64.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_arm64.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_arm64.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_arm64.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_arm64.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_arm64.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(true)

### `.parsers.dcmp_arm64.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_arm64.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_arm64.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_avr.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_avr.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_avr.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_avr.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_avr.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_avr.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_avr.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_avr.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(true)

### `.parsers.dcmp_avr.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_avr.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_avr.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.AggressiveSubstitutions`

Description: IR optimization: Allow aggressive (potentially unsafe) substitutions

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.FullCFGSubstitutionsInsnCountThreshold`

Description: Experimental IR optimization: Allow full-CFG expression propagation for methods having less than threshold instructions

(-1 to disable the threshold and enable for all methods regardless of their size)

Type and Default: Integer(100)

### `.parsers.dcmp_dex.IdentifierNamingStrategy`

Description: Naming strategy for the identifiers:

0= reflect underlying register usage as much as possible: argN, vN, vN_x

1= derive names from types

Type and Default: Integer(0)

### `.parsers.dcmp_dex.JarLibraryClasspath`

Description: A classpath containing Java classfiles to be used to support the decompiler. Refer to JarLibraryEnabled.

If non-empty, this classpath takes precedence over JarLibraryFolder.

Type and Default: String("")

### `.parsers.dcmp_dex.JarLibraryEnabled`

Description: Enable external Java library file parsing. They can be used by the decompiler to achieve better typing (cast reduction).

To activate, enable this property and set either one of JarLibraryClasspath or JarLibraryFolder property.

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.JarLibraryFolder`

Description: A folder containing Jar library files to be used to support the decompiler. Refer to JarLibraryEnabled.

The default value (empty) means to use the folder ~/.jeb-android-libraries, which always contains a recent copy of the Android framework (android.jar). You may change the value to point to another folder, or drop additional jars in this folder.Note that JarLibraryClasspath takes precedence over this value.

Type and Default: String("")

### `.parsers.dcmp_dex.MethodDecompilationTimeout`

Description: Maximum time in seconds allowed for a method decompilation (use 0 to specify no time-out)

Type and Default: Integer(0){0+}

### `.parsers.dcmp_dex.OptimizeCreateConditionalAssignments`

Description: AST optimization: allow condition assignments (using the ternary operator)

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.OptimizeCreateFinallyBlocks`

Description: AST optimization: attempt to create try-(catch,multi-catch)-finally blocks. This heuristic is potentially unsafe.

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.OptimizeCreateForLoops`

Description: AST optimization: Allow the creation of for-loops

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.OptimizeCreateMultiDimArrays`

Description: AST optimization: allow the creation of multi-dimensional arrays

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.OptimizeCreateStringSwitches`

Description: AST optimization: attempt to create switch-on-strings. This heuristic is potentially unsafe.

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.OptimizeCreateSynchronizedBlocks`

Description: AST optimization: attempt to create synchronized blocks. This heuristic is potentially unsafe.

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.OptimizeCreateVarArgs`

Description: AST optimization: support the creation of variable-argument methods

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.OptimizeInlineSyntheticAccessCalls`

Description: AST optimization: Inline calls to accessor (synthetic) methods

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.OptimizeStringConcatenation`

Description: AST optimization: Allow String concatenation

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.ParseDebugInformation`

Description: Process debug information. If enabled, debug names can be used to name identifiers.

Proceed with caution! DEX metadata is not reliable, it can be forged and/or obfuscated to mislead analysis.

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.ParseExceptionBlocks`

Description: Parse exception blocks

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.text.DisplayMethodInternalsAsComment`

Description: When rendering source, prepend method internals as a comment block before rendering the method (0: none, 1: original method signature, 2: signature + flattened AST rendering)

Type and Default: Integer(0)

### `.parsers.dcmp_dex.text.DisplayPrivateMethodsLast`

Description: Output private methods last (after public, default and protected methods)

Type and Default: Boolean(false)

### `.parsers.dcmp_dex.text.GenerateAnnotations`

Description: Generate Java annotations

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.text.GenerateOverrideAnnotations`

Description: Geneate additional @Override annotations for methods for which super implementations or definitions were found

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.text.GenerateSyntheticFields`

Description: Explicitly generate all synthetic fields

Type and Default: Boolean(false)

### `.parsers.dcmp_dex.text.GenerateSyntheticMethods`

Description: Explicitly generate all synthetic methods

Type and Default: Boolean(false)

### `.parsers.dcmp_dex.text.InsertBlankLinesAfterCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.text.ResolveFieldAccessTargets`

Description: Resolve accesses to object and class fields

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.text.ResolveMethodCallTargets`

Description: Resolve calls to virtual and static methods, possibly offering a list of candidates methods to client code

Type and Default: Boolean(true)

### `.parsers.dcmp_dex.text.SortItemsForRendering`

Description: Sort class, field and method source items before rendering them (0: no sort (rendered as they appear in native code), 1: alphabetically + access type)

Type and Default: Integer(1)

### `.parsers.dcmp_dex.text.UseDebugInfoNames`

Description: Use names located in DEX debug information (if available)

Type and Default: Boolean(true)

### `.parsers.dcmp_evmbc.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_evmbc.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_evmbc.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_evmbc.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_evmbc.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_evmbc.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_evmbc.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_evmbc.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(false)

### `.parsers.dcmp_evmbc.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_evmbc.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_evmbc.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_libravm_bc.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_libravm_bc.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_libravm_bc.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_libravm_bc.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_libravm_bc.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_libravm_bc.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_libravm_bc.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_libravm_bc.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(false)

### `.parsers.dcmp_libravm_bc.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_libravm_bc.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_libravm_bc.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_mips.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_mips.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_mips.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_mips.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_mips.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_mips.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_mips.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_mips.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(true)

### `.parsers.dcmp_mips.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_mips.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_mips.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_mips64.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_mips64.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_mips64.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_mips64.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_mips64.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_mips64.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_mips64.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_mips64.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(true)

### `.parsers.dcmp_mips64.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_mips64.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_mips64.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_wasmbc.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_wasmbc.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_wasmbc.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_wasmbc.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_wasmbc.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_wasmbc.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_wasmbc.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_wasmbc.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(true)

### `.parsers.dcmp_wasmbc.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_wasmbc.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_wasmbc.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_x86.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_x86.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_x86.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_x86.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_x86.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_x86.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_x86.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_x86.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(true)

### `.parsers.dcmp_x86.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_x86.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_x86.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dcmp_x86_64.ASTOptimizerMaxRunCount`

Description: Determine how many passes the AST optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(20)

### `.parsers.dcmp_x86_64.FailOnPipelineError`

Description: Determine whether or not an exception should be thrown on decompilation error. If not, the error will be visible as a comment in the decompiled code output

Type and Default: Boolean(true)

### `.parsers.dcmp_x86_64.IROptimizerDisableAggressivePass`

Description: Disable aggressive IR optimization pass, normally scheduled to run in later IR lifting stages. This pass is used to remove unused out-reaching variables.

Type and Default: Boolean(false)

### `.parsers.dcmp_x86_64.IROptimizerMaxRunCount`

Description: Determine how many passes the IR optimizer may be allowed to run during an optimization task (0 means no limit)

Type and Default: Integer(5)

### `.parsers.dcmp_x86_64.MemoryResolutionPolicy`

Description: A resolution policy guides the memory resolver in terms of what memory dereferences can be directly resolved. Supported policy values are:

- 0: forbidden (no resolution allowed)

- 1: allowed if reading takes place in read-only area, and points to a defined item

- 2: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table) and points to a defined item

- 3: #1 + allowed if reading takes place from "special" code object areas (eg, ELF's global offset table)

- 100: allowed from any area and points to a defined item

- 200: allowed from any area

Type and Default: Integer(2)

### `.parsers.dcmp_x86_64.ReconversionMaxCount`

Description: Maximum decompilation pipeline restart (reconversion) allowed for a routine

Type and Default: Integer(2){0+}

### `.parsers.dcmp_x86_64.StructurerUseVersion`

Description: Version of the structurer to use (0 means use the default structuring algorithms - in release mode, default=newest)

Type and Default: Integer(2){0-3}

### `.parsers.dcmp_x86_64.UseFriendlyVariableNames`

Description: Let the AST generate friendly identifier names (eg, based on types) instead of generic names

Type and Default: Boolean(true)

### `.parsers.dcmp_x86_64.UseSSAForm`

Description: Let the decompiler convert intermediate form CFG to SSA forms

Type and Default: Boolean(false)

### `.parsers.dcmp_x86_64.text.MergeAdjacentDefinitions`

Description: Merge same type definitions on a single line (eg, int i = 0, j = 1;)

Type and Default: Boolean(true)

### `.parsers.dcmp_x86_64.text.SpaceOutCompounds`

Description: Insert blank lines between compounds

Type and Default: Boolean(true)

### `.parsers.dex.AndroidJavadocRoot`

Description: Location of Java/Android API documentation files; by default, local files stored in your Android SDK folder will be preferred over web-based API doc

Type and Default: String("($ANDROID_HOME/docs|$ANDROID_SDK_HOME/docs|$ANDROID_SDK_ROOT/docs)/reference/;https://developer.android.com/reference/;($JAVA_HOME)/docs/api")

### `.parsers.dex.DalvikParserMode`

Description: Dalvik parser mode:

- 0: Legacy DEX, including odex and extended opcodes (0xFFxx) - designed for DEX <=37

If DEX version >= 38 is detected, the mode will be bumped to 100, 110, or more, automatically

- 50: ART introduction

- 100: DEX version 38 (+invoke-polymorphic, +invoke-custom, and variants)

- 110: DEX version 39 (+const-method-handle, +const-method-type)

- 1000: Newest, including things that may not be supported in JEB yet

Type and Default: Integer(50)

### `.parsers.dex.ParseExtendedOpcodes`

Description: Support parsing for the extended opcodes

Type and Default: Boolean(true)

### `.parsers.dex.ParseOptimizedOpcodes`

Description: Support parsing for the optimized opcodes

Type and Default: Boolean(true)

### `.parsers.dex.VerifyAccessFlags`

Description: Fail parsing if the access flags of a class, method, or field appear to be illegal

Type and Default: Boolean(false)

### `.parsers.dex.VerifyHashes`

Description: Fail parsing if the DEX Adler checksum is not the expected one

Type and Default: Boolean(false)

### `.parsers.dex.VerifyVersion`

Description: Fail parsing if the DEX version number is not in the range [35, 39]

Type and Default: Boolean(false)

### `.parsers.dex.WellKnownLibraryPackages`

Description: CSL of well-known packages that may not be provided as fully-expanded in code hierarchy tree documents. Use * to prevent auto-expansion for all packages. In practice, the JEB UI client will not auto-expand those packages by default to avoid cluttering the code hierarchy fragment view.

Type and Default: String("android,androidx,android_src,com.google,java,javax,org.acra,org.json,org.apache")

### `.parsers.dex.text.ClassSeparatorLength`

Description: Length of the class separator line in characters

Type and Default: Integer(0){0+}

### `.parsers.dex.text.MethodSeparatorLength`

Description: Length of the method separator line in characters

Type and Default: Integer(0){0+}

### `.parsers.dex.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.dex.text.ShowAnnotations`

Description: Show the DEX annotations

Type and Default: Boolean(true)

### `.parsers.dex.text.ShowBytecode`

Description: Display the instruction bytecode

Type and Default: Boolean(false)

### `.parsers.dex.text.ShowDebugDirectives`

Description: Show the debug directives (metadata)

Type and Default: Boolean(false)

### `.parsers.dex.text.ShowInstructionsInGaps`

Description: Parse byte gaps (aka slack space, or unsued data bytes, that can be present of method's body) and display those bytes as Dalvik instructions

Type and Default: Boolean(false)

### `.parsers.dex.text.ShowLineNumbers`

Description: Show the source line numbers (metadata)

Type and Default: Boolean(false)

### `.parsers.dex.text.ShowSpaceBetweenBlocks`

Description: Insert a blank line between basic blocks

Type and Default: Boolean(false)

### `.parsers.dex.text.SmaliCompatibility`

Description: Generate assembly code closer to (sometimes, compatible with) Smali, eg, using fully-qualified names everywhere

Type and Default: Boolean(false)

### `.parsers.dex.text.UsePForParameters`

Description: Use p0,p1,... instead of v0,v1,... for variables

Type and Default: Boolean(true)

### `.parsers.evmbc.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.evmbc.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.evmbc.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.evmbc.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.evmbc.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.evmbc.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.evmbc.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.evmbc.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.evmbc.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.evmbc.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.evmbc.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.evmbc.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.evmbc.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.evmbc.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.evmbc.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.evmbc.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.evmbc.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.evmbc.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.evmbc.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.evmbc.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.evmbc.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.evmbc.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.ihex.BigEndian`

Description: Set to true to specify big-endian. The default is little-endian, unless a specific processor setting overrides it.

Type and Default: Boolean(false)

### `.parsers.ihex.Processor`

Description: Target processor/microcontroller code: 'x86', 'x86_64', 'arm', 'arm64', 'mips', 'avr', etc. The default is x86

Type and Default: String("x86")

### `.parsers.ihex.WantedImageBase`

Description: Base address hint. Leave empty to let the plugin decide

Type and Default: String("")

### `.parsers.ihex.WantedWordsize`

Description: Desired wordsize in bits: 8, 16, 32, etc. Leave empty to let the plugin decide by heuristics

Type and Default: String("")

### `.parsers.libravm_bc.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.libravm_bc.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.libravm_bc.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.libravm_bc.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.libravm_bc.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.libravm_bc.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.libravm_bc.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.libravm_bc.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.libravm_bc.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.libravm_bc.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.libravm_bc.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.libravm_bc.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.libravm_bc.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.libravm_bc.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.libravm_bc.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.libravm_bc.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.libravm_bc.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.libravm_bc.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.libravm_bc.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.libravm_bc.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.libravm_bc.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.libravm_bc.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.mips.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.mips.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.mips.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.mips.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.mips.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.mips.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.mips.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.mips.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.mips.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.mips.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.mips.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.mips.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.mips.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.mips.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.mips.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.mips.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.mips.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.mips.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.mips.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.mips.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.mips.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.mips.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.mips64.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.mips64.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.mips64.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.mips64.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.mips64.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.mips64.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.mips64.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.mips64.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.mips64.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.mips64.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.mips64.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.mips64.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.mips64.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.mips64.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.mips64.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.mips64.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.mips64.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.mips64.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.mips64.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.mips64.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.mips64.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.mips64.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.wasmbc.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.wasmbc.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.wasmbc.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.wasmbc.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.wasmbc.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.wasmbc.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.wasmbc.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.wasmbc.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.wasmbc.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.wasmbc.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.wasmbc.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.wasmbc.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.wasmbc.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.wasmbc.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.wasmbc.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.wasmbc.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.wasmbc.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.wasmbc.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.wasmbc.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.wasmbc.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.wasmbc.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.wasmbc.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.x86.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.x86.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.x86.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.x86.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.x86.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.x86.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.x86.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.x86.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.x86.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.x86.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.x86.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.x86.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.x86.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.x86.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.x86.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.x86.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.x86.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.x86.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.x86.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.x86.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.x86.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.x86.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.parsers.x86_64.AdvancedAnalysisRoutineCountWarning`

Description: If the standard analysis yields more routines that this provided threshold, then the user will be prompted for confirmation before starting the optional advanced analysis pass (and subsequent passes).

Type and Default: Integer(200){0+}

### `.parsers.x86_64.AllowAdvancedAnalysis`

Description: The advanced analysis is an optional analysis pass that comes after the initial standard analysis. It permits discovery of indirect dispatch, therefore providing better routine discovery coverage, and partial resolution of register values.

Type and Default: Boolean(false)

### `.parsers.x86_64.AnalysisStyle`

Description: Native analysis style:

0 = forced conservative analysis

1 = automatic mode (depends on the file)

2 = forced aggressive analysis

3 = forced lazy analysis

4 = forced lazy no data analysis

Type and Default: Integer(1){0-4}

### `.parsers.x86_64.DebugInformationRetrievalPolicy`

Description: Policy regarding the retrieval of externally-stored debugging and symbolic information of code objects:

0 = never attempt

1 = retrieve locally stored external symbols

2 = attempt to retrieve locally and network-stored symbols

Locations are architecture- and code object- dependent and may be customized via environment variables. Refer to the manual for additional documentation.

Type and Default: Integer(2){0-2}

### `.parsers.x86_64.DebugInformationUsagePolicy`

Description: Apply and use debug information to improve analysis accuracy (on a best-effort basis):

0 = never use debug information

1 = use internal debug information only

2 = use all available (internal and external) debug information

Type and Default: Integer(1){0-2}

### `.parsers.x86_64.PerformClassRecovery`

Description: Attempt C++ class discovery and rebuilding (limited to MSVC-compiled x86 executables for now)

Type and Default: Boolean(false)

### `.parsers.x86_64.PerformGlobalAnalysis`

Description: Global analysis passes are optional passes provided by specific decompiler modules. They may allow recovery of complex artifacts, such as classes or modules.

Type and Default: Boolean(false)

### `.parsers.x86_64.PreferSynchronousExecution`

Description: Synchronous analysis prevents access to the unit during a code analysis

Type and Default: Boolean(false)

### `.parsers.x86_64.WantedEndianness`

Description: Desired endianness for raw binaries: 'little'/'le', 'big'/'be'. May be overridden by the code parser.

Type and Default: String("le")

### `.parsers.x86_64.WantedImageBase`

Description: Desired memory base address for raw binaries. 0 by default.

Type and Default: String("0")

### `.parsers.x86_64.text.BlockXrefsCount`

Description: Maximum number of cross-references displayed at any address

Type and Default: Integer(50)

### `.parsers.x86_64.text.CharBreak64BitAddresses`

Description: If not empty, the address column will display 64-bit addresses as two 8-hexdigit parts, separated by the provided character string

Type and Default: String("'")

### `.parsers.x86_64.text.GapPreferRawFormatting`

Description: Prefer raw formatting (dr XX, dr XXXX) for gaps and slack spaces instead of regular declarations (eg, db ??)

Type and Default: Boolean(false)

### `.parsers.x86_64.text.GapRawBytesPerLine`

Description: For raw formatting, determine the maximum number of bytes per line in gaps and slack spaces. Must be a power of 2, else reverts to the default.

Type and Default: Integer(16){0+}

### `.parsers.x86_64.text.GapRawIntegerSize`

Description: For raw formatting, determine the integer length (in bytes) used for rendering. Must be either 1, 2, 4, or 8, else reverts to the default

Type and Default: Integer(1){0+}

### `.parsers.x86_64.text.InstructionAreaLength`

Description: Length in characters of the assembly column containing the instructions

Type and Default: Integer(40){0+}

### `.parsers.x86_64.text.LabelAreaLength`

Description: Length in characters of the assembly column containing the labels

Type and Default: Integer(16){0+}

### `.parsers.x86_64.text.RoutineSeparatorLength`

Description: Number of characters used to build the line separating routines

Type and Default: Integer(80){0+}

### `.parsers.x86_64.text.ShowAddresses`

Description: Display addresses of items

Type and Default: Boolean(true)

### `.parsers.x86_64.text.ShowBytesCount`

Description: Maximum count of instruction bytes to be displayed before the instruction

Type and Default: Integer(0){0+}

### `.parsers.x86_64.text.ShowSegmentHeaders`

Description: Display the segment or section headers

Type and Default: Boolean(true)

### `.parsers.x86_64.text.ShowSpaceBetweenBlocks`

Description: Insert blank lines between basic blocks

Type and Default: Boolean(false)

### `.project.AlwaysProcessDuplicateInputs`

Description: Always process binary inputs even if that input was seen earlier and processed as another unit already

Type and Default: Boolean(false)

### `.project.ArtifactProcessingDepth`

Description: Determine the maximum depth an input artifact (eg, a file) will be explored to create units and sub-units representing analysis entities

Type and Default: Integer(20){1+}

### `.project.CompressPersistedProject`

Description: Compress the JDB2 database (recommended)

Type and Default: Boolean(true)

### `.project.PersistenceStrategy`

Description: Determine how a project will be saved to JDB2:

- 0: default (full save)

- 1: explicit full save

- 2: quick save

Type and Default: Integer(0){0-2}

#### Search

From here you can search these documents. Enter your search terms below.

#### Keyboard Shortcuts

Keys | Action
--- | ---
`?` | Open this help
`n` | Next page
`p` | Previous page
`s` | Search