Skip to content

Client Configuration

The UI client stores its client configuration, also known as the front-end configuration, in bin/jeb-client.cfg. The configuration file is a key-value store where keys are fully-qualified identifiers that start with a leading dot.

The public keys can safely be changed by a user. They are accessible in the Options dialog, Advanced mode, panel Client.

.CheckUpdates#

Description: Let JEB automatically check for software updates (requires an Internet connection)

Type and Default: Boolean(true)

.ControllerInterface#

Description: Interface (hostname or IP address) of the JEB floating controller

Type and Default: String("")

.ControllerMessage#

Description: Optional message to be set by the controller; it will be visible by the clients on the controller's web portal

Type and Default: String("")

.ControllerPort#

Description: Port number of the JEB floating controller

Type and Default: Integer(23477){0-65535}

.ControllerProtocol#

Description: Protocol used by the floating controller and JEB clients

Type and Default: Selection(0){http(0), https(1)}

.DevelopmentMode#

Description: Recommended when developing JEB extensions (scripts, plugins). Increase logger levels separately via the `LogLevel` property.

Type and Default: Boolean(false)

.LogLevel#

Description: Set the global cutoff level for loggers, which will control what gets output in the 'Logger' view.

If `DevelopmentMode` is enabled, this value is disregarded and assumed to be ALL (log everything).

Type and Default: Selection(0){ALL(0), TRACE(10), DEBUG(20), INFO(30), WARN(40), ERROR(50), CATCHING(60)}

.NetworkProxy#

Description: Proxy settings for JEB front-end components. The format of this property is:

'type|hostname|port|user|pass|whitelist'

  • type can be direct (no proxy), http, or socks

  • hostname and port are mandatory for non-direct proxy types

  • user and password are optional (needed only if your proxy requires authentication)

  • whitelist is an optional list of domains/IPs (with support for the wildcard character *) for which no proxy connection should be used (always direct connect)

Type and Default: String("")

.ScriptsFolder#

Description: Folder containing JEB client scripts written in Python

Type and Default: Path("$JEB_HOME/scripts")

.UpdateChannel#

Description: Channel from which software updates are pulled from

Type and Default: Selection(2){Release(0), Beta(1), Alpha(2)}

.UploadErrorLogs#

Description: Securely upload error logs to PNF Software error server

Type and Default: Boolean(true)

.ui.AlwaysLoadFragments#

Description: Always load view fragments (leave to false to let lazy fragments load their data only they are visualized by the user)

Type and Default: Boolean(false)

.ui.AutoDecompileCode#

Description: Auto-decompile code and sync Assembly and Decompiled code views (experimental feature limited to dex decompilations)

Type and Default: Boolean(false)

.ui.AutoOpenDefaultUnit#

Description: Upon processing a new file artifact, the default unit (internal rule set) will be opened - and the default fragment potentially opened as well

Type and Default: Boolean(true)

.ui.BrowseHistoryKeyboardShortcut#

Description: Keyboard shortcut used to display input history in some widgets. Note that M1 means the Ctrl key on win/linux, Command key on macOS.

Type and Default: String("M1+SPACE")

.ui.DoNotReplaceViews#

Description: Create a new fragment when visualizing a type of document already opened in the workspace (instead of replacing it)

Type and Default: Boolean(false)

.ui.DoNotUseBrowser#

Description: Force-disable the use of the SWT Browser component used to render HTML pages.

(On Linux, this component relies on the WebKit rendering engine. Using older versions or versions incompatible with the installed version of GTK may result in software crashes.)

Type and Default: Boolean(false)

.ui.ExpandTreeNodesOnFiltering#

Description: Expand matching tree nodes when applying a string filter

Type and Default: Boolean(true)

.ui.GloballyDisablePopupsOnMouseHover#

Description: Disable the display of pop-ups providing contextual information when hovering the mouse cursor over elements (not recommended)

Type and Default: Boolean(false)

.ui.KeyboardShortcutsFile#

Description: Location of the custom keyboard shortcuts file

Type and Default: Path("jeb-shortcuts.cfg")

.ui.PreferRealAddressesInDialogs#

Description: In dialogs displaying addresses (e.g., cross-references), always display real (internal) addresses over user-friendly addresses that may be provided by plugins

Type and Default: Boolean(false)

.ui.ProjectUnitSync#

Description: Keep the unit that generated the currently visualized item visible in the Project tree

Type and Default: Boolean(false)

.ui.ShowParserPropertiesDialogOnNewFile#

Description: Allow the customization of parsers properties before processing a new input artifact (highly recommended to keep on)

Type and Default: Boolean(true)

.ui.ShowWarningNotificationsInStatus#

Description: Show important notifications by flashing a Warning sign in the status bar

Type and Default: Boolean(true)

.ui.graphs.AutoGenerate#

Description: Auto-generate the global graph upon processing a binary file

Type and Default: Boolean(false)

.ui.graphs.KeepInMainDock#

Description: Keep the global graph docked in the main shell instead of being in a floating modeless dialog

Type and Default: Boolean(true)

.ui.graphs.LockView#

Description: Lock the global graph: prevent auto-moving/sync'ing with the currently active method or code item

Type and Default: Boolean(false)

.ui.logger.Colorize#

Description: Colorize the logger output lines by their log levels (info, warning, error, etc.)

Type and Default: Boolean(true)

.ui.logger.LoggerMaxLength#

Description: Maximum log buffer size in characters (older logger lines get discarded)

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

.ui.native.DisableTypePreparsing#

Description: Disable native type pre-parsing (syntax validation) in type edition dialogs

Type and Default: Boolean(false)

.ui.omnibox.Enabled#

Description: Enable or disable the Omnibox (will require a restart)

Type and Default: Boolean(true)

.ui.omnibox.IncludeUnitTextDocuments#

Description: If set, the Omnibox results will also include raw text search made on Unit text documents (excl. code units).

Beware this will strain performance on large project files.

Type and Default: Boolean(false)

.ui.omnibox.MaxRecordCount#

Description: Specify the maximum number of completion proposals provided by the Omnibox

Type and Default: Integer(200){0-10000000}

.ui.omnibox.SearchTimeOutMs#

Description: Time-out in milliseconds before the current search is stopped (use -1 to specify no time-out)

Type and Default: Integer(300)

.ui.state.DecompInitialLocation#

Description: Determine where the first panel holding a decompilation should be positioned

Type and Default: Selection(-1){Auto(-1), Disabled(0), Split right(1), Split left(2), Split top(3), Split bottom(4)}

.ui.state.MainShellBounds#

Description: Bounds of the main shell. Leave blank for default; else: -1=maximized, or a set of "x,y,w,h" to remember position and size)

Type and Default: String("")

.ui.state.ReloadPresentationFromDatabase#

Description: Reload and apply GUI presentation data from a project database, if any was previously persisted.

Type and Default: Boolean(true)

.ui.state.SavePresentationToDatabase#

Description: Save the GUI presentation in the project database (JDB2). Currently, only minimal information is persisted, such as which unit views are opened.

Type and Default: Boolean(true)

.ui.text.CharactersPerLineMax#

Description: Maximum number of characters per line before forcing a line-wrap (whether or not line wrapping is enabled)

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

.ui.text.DisplayAssistantButtonInDecompiledFragments#

Description: Display the 'Request Assistance' button in decompiled-code views

Type and Default: Boolean(true)

.ui.text.DisplayEolAtEod#

Description: Display an extra line at the end of a text document

Type and Default: Boolean(true)

.ui.text.ForceDisplayHorizontalScrollbar#

Description: Always request the display of a horizontal scrollbar in text widgets

Type and Default: Boolean(false)

.ui.text.OverviewBarThickness#

Description: Thickness in pixel of the overview bar (right-side of text docs); 0 to disable; -1 for auto-determination

Type and Default: Integer(-1)

.ui.text.PreferLegacyFindDialog#

Description: Prefer the older Find dialog box for unit text document search (if false, the interative quick search dialog is used)

Type and Default: Boolean(false)

.ui.text.ScrollLineSize#

Description: Number of lines scrolled on a mouse-whell scroll action

Type and Default: Integer(2)

.ui.text.ViewportBarThickness#

Description: Thickness in pixel of the viewport bar (left-side of text docs); 0 to disable; -1 for auto-determination

Type and Default: Integer(-1)

.ui.text.WrapLines#

Description: Wrap lines

Type and Default: Boolean(false)

.ui.text.cfg.ShowAddresses#

Description: Show addresses in control flow graph views

Type and Default: Boolean(false)

.ui.text.cfg.ShowBytesCount#

Description: Show bytes in control flow graph views

Type and Default: Integer(0)

.ui.tree.BucketFlatMaxElements#

Description: Maximum number of elements in a single artificial bucket

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

.ui.tree.BucketFlatThreshold#

Description: Element count threshold that will trigger the creation of buckets in tree viewers with flat structures (e.g., native code hierarchies)

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

.ui.tree.BucketTreeMaxElements#

Description: Maximum number of elements in a single artificial bucket

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

.ui.tree.BucketTreeThreshold#

Description: Element count threshold that will trigger the creation of buckets in tree viewers with hierarchical structures (e.g., Dalvik hierarchies)

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

.ui.tree.UseExplicitDefaultPackage#

Description: Use a default package when artificial buckets in tree viewers are created

Type and Default: Boolean(true)

.ui.tree.code.AlwaysShowExtraColumns#

Description: Always show additional columns in code hierarchies, to display sizes, addresses, etc. (if available)

Type and Default: Boolean(false)

.ui.tree.code.UseCache#

Description: Allow caching of nodes and children nodes for better performance in very large binary files

Type and Default: Boolean(true)