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