Engines Configuration

The RCP client stores the JEB engines configurations, also known as the back-end configuration, in the bin/jeb-engines.cfg. The cfg file is a key-value store where keys follow a dot-prefixed, dot-separated naming convention.

This file contains general back-end settings as well as the settings of common plugins shipped with most distributions of JEB. Each plugin has its own sub-namespace (.PluginType) within the .parsers namespace.

)

Many settings are self-explanatory. This section will detail only those settings requiring additional details.

General

.DatabaseBackupBeforeSave

Since the persistence of each unit in a project is ultimately decided by the plugin responsible for that unit, errors in plugin code may generate JDB2 database corruption. When this option is true, the current JDB2 database is always backed up before attempting to save and overwite it. It is highly recommended to leave this setting on its default value (true).

.NetworkProxy

Similar to the similarly named client option. This setting holds proxy settings for the back-end. They must be set when third-party clients are used.

.parsers.EnforceVersionChecks

Determine if the minimum and maximum JEB version requirements specified in plugins is enforced by JEB. For instance, a plugin specifying a minimum JEB version of 2.2.1 will be rejected by JEB if its version is less than 2.2.1. It is recommended to leave this option as true.

.project.ArtifactProcessingDepth

TODO

.project.CompressPersistedProject

Determine if the JDB2 database should be compressed before being persisted to disk.

Android APK Plugin

.parsers.apk.FrameworksDirectory

TODO

.parsers.apk.ParseBytecode

TODO

.parsers.apk.TryMergeMultiDex

TODO

Android DEX Plugin

.parsers.dex.VerifyVersion

TODO

.parsers.dex.VerifyHashes

TODO

.parsers.dex.VerifyAccessFlags

TODO

.parsers.dex.ParseExtendedOpcodes

TODO

.parsers.dex.ParseOptimizedOpcodes

TODO

.parsers.dex.asm.ShowAddresses

TODO

.parsers.dex.asm.ShowBytecode

TODO

.parsers.dex.asm.ClassSeparator

TODO

.parsers.dex.asm.MethodSeparator

TODO

.parsers.dex.asm.ShowAnnotations

TODO

.parsers.dex.asm.ShowDebugDirectives

TODO

.parsers.dex.asm.ShowLineNumbers

TODO

.parsers.dex.asm.UsePForParameters

TODO

.parsers.dex.asm.BlankLinesAfterBlocks

TODO

.parsers.dex.asm.SmaliCompatibility

TODO

.parsers.dex.WellKnownLibraryPackages

TODO

android
android_src
com.google
java
javax
org.acra
org.json
org.apache

DEX Decompiler Plugin

The following settings are used to customize the decompilation process.

.parsers.dcmp_dex.ParseExceptionBlocks

Self-explanatory.

.parsers.dcmp_dex.ParseDebugInformation

Parse the debug information of the DEX file to extract and use metadata such as method parameter names.

Note: metadata can be forged and should not be trusted.

.parsers.dcmp_dex.AggressiveSubstitutions

Allow aggressive function substitutions during the IR optimization pass.

.parsers.dcmp_dex.OptimizeStringConcatenation

Rebuild string concatenation out of from string builders (eg, "foo" + "bar") when possible.

.parsers.dcmp_dex.OptimizeInlineSyntheticAccessCalls

Attempt to inline compiler-generated (synthetic) access calls (eg, when accessing inner class attributes from outer classes) when possible.

.parsers.dcmp_dex.OptimizeCreateForLoops

Rebuild for-loops from while-loops when possible.

.parsers.dcmp_dex.OptimizeCreateVarArgs

Rebuild variable argument calls when possible.

.parsers.dcmp_dex.OptimizeCreateMultiDimArrays

Rebuild multi-dimensional arrays when possible.

.parsers.dcmp_dex.OptimizeCreateConditionalAssignments

Rebuild tertiary (?:) assignments when possible.

.parsers.dcmp_dex.GenerateNumbersInHex

TODO

.parsers.dcmp_dex.PortDebugParameterNames

TODO

.parsers.dcmp_dex.DisplayPrivateMethodsLast

TODO

.parsers.dcmp_dex.InsertBlankLinesAfterCompounds

TODO

.parsers.dcmp_dex.GenerateSyntheticFields

TODO

.parsers.dcmp_dex.GenerateSyntheticMethods

TODO

.parsers.dcmp_dex.GenerateAnnotations

TODO

.parsers.dcmp_dex.java.DisplayPrivateMethodsLast

TODO

.parsers.dcmp_dex.java.GenerateAnnotations

TODO

.parsers.dcmp_dex.java.GenerateNumbersInHex

TODO

.parsers.dcmp_dex.java.GenerateSyntheticFields

TODO

.parsers.dcmp_dex.java.GenerateSyntheticMethods

TODO

.parsers.dcmp_dex.java.InsertBlankLinesAfterCompounds

TODO

.parsers.dcmp_dex.java.PortDebugParameterNames

TODO

XML Plugin

.parsers.xml.ParseComments

Parse and display XML comments (inside <!-- ... --> tags). Enabled by default.

Android Debugger Plugin

.parsers.dbug_apk.AttachPortRangeSize

TODO

.parsers.dbug_apk.AttachPortRangeStart

TODO

.parsers.dbug_apk.BlockingQueryTimeoutSeconds

TODO

.parsers.dbug_apk.PreferredGdbserverVersion

TODO

.parsers.dbug_apk.UseNativeDebugger

TODO

.parsers.dbug_apk.NativeAttachPortRangeSize

TODO

.parsers.dbug_apk.NativeAttachPortRangeStart

TODO

Project-specific Options

The engines configuration acts as a template for your projects' settings. Once within a project, 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.