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.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.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)
.ui.tree.flatBucket.MaxElements
#
Description: Maximum number of elements in a single artificial bucket for flat structures
Type and Default: Integer(500){0+}
.ui.tree.flatBucket.MinSmartSize
#
Description: Minimum number of elements to create a smart bucket for flat structures (for example "sub_*")
Type and Default: Integer(10){0+}
.ui.tree.flatBucket.SmartForce
#
Description: Force creation of smart bucket even if threshold is not reached for flat structures
Type and Default: Boolean(true)
.ui.tree.flatBucket.SmartSeparators
#
Description: Separators to use in smart bucket creation for flat structures (list surrounded by double quotes, separated by commas)
Type and Default: String(""_","operator "")
.ui.tree.flatBucket.Threshold
#
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.treeBucket.MaxElements
#
Description: Maximum number of elements in a single artificial bucket for tree structures
Type and Default: Integer(200){0+}
.ui.tree.treeBucket.MinSmartSize
#
Description: Minimum number of elements to create a smart bucket for tree structures (for example "ConstraintLayout_*")
Type and Default: Integer(10){0+}
.ui.tree.treeBucket.SmartForce
#
Description: Force creation of smart bucket even if threshold is not reached for tree structures
Type and Default: Boolean(false)
.ui.tree.treeBucket.SmartSeparators
#
Description: Separators to use in smart bucket creation for tree structures (list surrounded by double quotes, separated by commas)
Type and Default: String(""_"")
.ui.tree.treeBucket.Threshold
#
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+}