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)

.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.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.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.LoggerMaxLength#

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

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

.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.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.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.text.AllowLineWrapping#

Description: Wrap overly long lines

Type and Default: Boolean(false)

.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.CharactersWrap#

Description: Limit of a line before wrapping, if line wrap is enabled

Type and Default: Integer(-1)

.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.NavigationBarPosition#

Description: Position of the navigation bar used by text fragments

Type and Default: Selection(2){Top(1), Right(2), Bottom(3), Left(4)}

.ui.text.ScrollLineSize#

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

Type and Default: Integer(2)

.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)