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.

Can I generate license keys for additional machines?

Yes, as long as the additional machines are operated by the licensee, they may install JEB on them. Contact licensing to request the ability to generate additional keys. We handle those requests promptly.

Can I revoke license keys?

Yes, JEB license keys can be deprecated. Contact licensing to request key revocation. We handle those requests promptly.

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 UI client: open the menu entry Help, About.

How do 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:

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

Please refer to this Manual entry to learn about setting up floating Controller and Clients.

What happens when my license subscription expires?

JEB works on subscription. Past the expiration date, your software will continue to work and allow you to open and work on existing JDB2 projects, but you will not be able to create new projects.

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. However, we recommend you email sales and let us know your specific needs: we always strive to accommodate our customer's needs.

Do you provide professional support?

We do offer an additional support plan for JEB Pro and JEB Pro Floating licenses. Refer to the Buy page for details.

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.


Which version of Java shall I use to run JEB? Can I use Java 10?

The JEB2 desktop client requires Java 8. The JEB3 client works well with Java 8, Java 9, and Java 10.

The back-end components of JEB2 or JEB3 (jeb.jar) work fine with with Java 8, 9, and 10.

JEB complains that it "requires a Java runtime environment", although I have one installed.

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

JEB2: 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:


Replace ???? by the size amount of your choice, in Mb; eg, 4096 to allow JEB to use up to 4Gb. Note that other Java Virtual Machine options may be provided after the -vmargs (one option per line). Refer to the JVM manual for a complete list of options.

JEB3: It depends on your platform:

On startup, messages in the logger output should reflect the updated capability:

I just upgraded to Java 8u131 or above (or Java 7u131), and JEB would close immediately after start-up

The probable reason is that you must be using JEB 2.2.10 or below. Older versions of JEB are no compatible with the newer JDK/SDK. There are two ways to solve this problem:


Can I run JEB on Windows/Linux/macOS/...?

The official JEB UI desktop client runs on Windows, Linux, and macOS, 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 8 or above is available.

How can I run multiple instances of JEB?

JEB2: Start your second and more instances of the JEB2 UI 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.

JEB3: Multiple instances of JEB3 can run natively without configuration changes.

JEB 2.x closes unexpectedly at start-up. How do I troubleshoot potential issues?

(JEB2) By default, console messages generated by JEB2 are logged to the workspace/*log or workspace/.metadata/.log file within your JEB directory. If you are using the UI client, adding those settings to your bin/jeb.ini file will instruct the UI framework to log debug messages to the console:


Make sure to add them before any -vmarg parameter!

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'm using JEB2 and cannot find menu entry [xxx], where is it?

(JEB2) 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 JEB2 UI Client?

(JEB2) 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:

I access Internet via a proxy. Can I still use JEB?

First, make sure to use JEB 2.3.11 or above. Proxy settings can be stored at those two locations:

In each aforementioned configuration file, the network proxy data is stored as a key-value pair having the following format: .NetworkProxy = type|hostname|port (or type|hostname|port|username|password for authenticated access)

Allowed types: http, socks.

Note: Do not forget the leading dot in .NetworkProxy!

I have troubles updating from JEB 2.2 to JEB 2.3

Make sure that:

If the above steps did not work, reach out to support or consider installing JEB 2.3 from scratch in a separate location.

How do I update from JEB2 to JEB3?

At the time of writing, you must install JEB3 Alpha in a separate location. The auto-updater in JEB2 will only notify you that a JEB3 build is available for you to install. Check your email to download and install JEB3.

Can I update from the command-line?

Yes. Starting with JEB 2.3.5, simply run:

$ <jeb_startup_script> -c --check-update

After the update is downloaded, execute JEB normally.


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 Pro license)


$ java -jar jeb.jar --srv2 --script=JEB2SampleScript.py -- foo bar

Note: The command-line arguments (in the example above: foo, bar) can be retrieved via [IClientContext] https://www.pnfsoftware.com/jeb/apidoc/reference/com/pnfsoftware/jeb/client/api/IClientContext.html#getArguments()).

How to execute a JEB Python script from the command line with JEB 2.3.4 (or older)?

For reference, here is how to run Python scripts in a headless environment with JEB 2.3.4 or older:


$ 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 be retrieved via IClientContext.

Can I write back-end extensions (plugins, contributions, etc.) in Python?

Soon! If all goes according to plan, we open support for Python back-end extensions starting with JEB 2.3.6.


Is there a public bug/feature tracker?

Not at the moment. We are pretty responsive when it comes to answering users' queries though. Email us or ask your question on the JEB Google Groups.