Frequently asked answers to common questions and issues.
Where is the end-user license agreement?¶
The up-to-date end-user license agreement for JEB can be found here.
How do I check my license type, license identifier, or license key?¶
From the command-line: execute JEB with the
-c --license switches, eg:
$ jeb_wincon.bat -c --license
From the RCP client: open the menu entry Help, About.
How do Enterprise floating licenses work?¶
Floating licenses work on a per-seat basis, as opposed to other license types that work on a per-user basis. Example:
- A floating build valid for 3 seats allow any 3 users within your organization concurrently.
- A non-floating build valid for 3 users allow 3 fixed, determined users to use JEB. No other user can use it.
Therefore, floating builds provide great flexibility for organizations where many users are planning to use JEB irregularly and/or at different times (eg, teams split across various regions).
You will find additional details, including technical notes, in the setup instructions page.
What happens when my license subscription expires?¶
JEB works on subscription. Past the expiration date, the software will stop working. You may renew a license as early as 3 months before your expiration date.
Do subscriptions renew automatically?¶
No. We do not perform auto-payments or auto-renewals. Please email sales when you need to renew a subscription.
Do you offer subscriptions valid for more than one year?¶
Yes, we do offer custom subscriptions for up to 3 years. Email us at sales for details.
Do you offer perpetual licenses?¶
No, we do not offer perpetual licenses at this point. In any case, email sales and let us know your specific needs: we always strive to accommodate our customer's needs.
Do you offer large volume subscriptions?¶
Yes, we do have plans for large enterprise and government. Those plans include the possibility to generate large amount of license keys. Reach out to sales for additional details.
We developed internal tools built around JEB. Can other users in my organization use them without breaking the EULA?¶
Yes. As long as your JEB subscription is valid, users in your organization may access and use data produced by JEB.
JEB complains that it "requires a Java runtime environment", although I have one installed.¶
java binary should be accessible from the
PATH environment variable. It is also recommended to set a
JAVA_HOME environment variable pointing to your Java installation folder (bin/).
If you are running on a 64-bit system, we recommend you install and use a 64-bit Java environment. A common source of problems are 64-bit systems having a 32-bit JRE accessible from the PATH. You may have different versions of Java installed, but always make sure that the PATH refers to one that matches your system specifications.
How can I increase the maximum amount of memory usable by JEB?¶
If unspecified, the memory cap is automatically decided upon starting up - and it will almost certainly be lower than what your system can offer.
In order to manually specify the maximum amount of memory usable by JEB, edit the file
bin/jeb.ini located in your JEB folder. Add the following lines:
???? by the size amount of your choice (in Mb), eg,
4096 to allow JEB to use up to 4Gb.
Note: other Java Virtual Machine options may be provided after the
-vmargs(one option per line). Refer to your JVM manual for a complete list of options.
On startup, messages in the logger output should reflect the updated capability:
Can I run JEB on [Platform Name]?¶
The RCP client (aka the official JEB UI desktop client) runs on Windows, Linux, and Mac OS, both in their 32-bit and 64-bit versions.
The JEB back-end components, which can be used separately to build other clients or analysis pipelines, run on all systems for which a Java Runtime Environment version 7 or above is available.
How can I run multiple instances of JEB?¶
Start your second and more instances of the RCP client by using the
-data @none command-line argument.
Example on Windows:
$ jeb_wincon.bat -data @none
Note that the customization of your UI workspace will not be ported over to this new instance, and will not be persisted upon closing either.
JEB closes unexpectedly at start-up. How do I troubleshoot potential issues?¶
By default, console messages are logged to the
workspace/.metadata/.log file within your JEB directory.
If you are using the RCP client, adding those settings to your
bin/jeb.ini file will instruct the RCP framework to log debug messages to the console:
-debug -consoleLog -noExit
Make sure to add them before any
Restart JEB and examine the console log. If all else fails, please reach out to Support.
JEB messages and strings are in my current (non-English) locale. How do I switch to English?¶
By default, JEB does its best to display messages in the current user's language settings. You may change the locale to English (or another one of the 10 supported languages) via the Edit, Language menu. See the Settings for details.
I cannot find menu entry [xxx], where is it?¶
You may need to reset the user interface state, via the Reset, UI State menu entry. A hard reset is to remove your
workspace/ folder within your JEB installation folder.
What are the views marked as "Unbound" in the RCP Client?¶
Those entries are layout placeholders from previous JEB sessions. They help JEB determine the best location to display a unit of a given type. (Note that "Unbound Views" can be closed at any time.)
In the example below, DEX views and Java Decompiled views would be opened in their corresponding placeholders before attempting to create additional views.
I work in a limited-connectivity environment, how can I update the software manually?¶
If you are updating from JEB 2.2.5 or above, simply follow the prompt when JEB starts up or follow the procedure when executing the menu entry Help, Software Update.
If you are updating from JEB 2.2.4 or below, the procedure is the following:
- Check your registered email address for a JEB update email ("JEB xxx is available...")
- Download the software archive
- Copy the archive to the root of your JEB folder and rename the file to
- Create a text file named
- Store the email-provided password inside this file
- Start JEB as normal; the update will be installed automatically
I access Internet via a proxy. Can I still use JEB?¶
The answer is yes. Basic proxy settings are stored at those two locations:
- the client's settings, stored in
jeb-client.cfg. If you are using the RCP desktop client, this data can be modified via the Options panel. This setting is optional, and should be set if you'd like to receive and install updates automatically through the software.
- the back-end's settings, stored in
jeb-engines.cfg. In this case, the configuration file must be edited manually. This setting is mandatory if your license type requires an active Internet connection, as is the case for Standard and Demo builds.
In each aforementioned configuration file, the network proxy data is stored as a key-value pair having the following format: .NetworkProxy = type|hostname|port
Allowed types include
Proxy authentication: If access to the proxy requires an authenticated user, the following Java variables must be set up when running JEB:
proxytype is to be replaced by the actual proxy type, eg, http.
Setting up these variables in Java is done by providing them to the Java VM using the
-D option flag. If you are using the RCP desktop client, the simplest way to achieve this is to edit
jeb.ini located in the
bin/ folder, and append the following lines:
-vmargs -Dhttp.proxyUser=your_username -Dhttp.proxyPassword=your_password
Can I execute a JEB Python script from the command line?¶
Yes. The proper way would be to create a headless client that wraps around a Jython interpreter. Read through this guide and associated sample code if you want to know more about writing your own front-end clients.
For convenience, we integrated such a client within the
jeb.jar core file. Here is how to use it: (You will need a Business license or above)
- Make sure to drop a
- Navigate to your JEB folder, sub-folder
- Execute jeb.jar with a
--libdirparameters, as well as optional script arguments (preceded by
- Also remember to set up two Java properties, using
jeb.engcfg: points to your
jeb.lickey: contains a valid JEB license key (such as the value referenced in
$ java -Djeb.engcfg=jeb-engines.cfg -Djeb.lickey=xxxxxxx -jar jeb.jar --script=1.py --libdir=xxxxx -- arg1 arg2 ...
Note: The command-line arguments (arg1, arg2, ...) can only be retrieved via IClientContext, not via
Can I write back-end extensions (plugins, modules) in Python?¶
No. At that time, back-end extensions must be written in Java.