JEB is a reverse-engineering platform to perform disassembly, decompilation, debugging, and analysis of code and document files, manually or as part of an analysis pipeline.
- The first part of this guide is a user manual that covers basic usage related to analyzing, decompiling and debugging applications (Android apps, as well as native binaries). It is not an exhaustive resource. We recommend visiting our blog for additional, pointed resources describing a variety of use cases.
- The second half is a developer portal for advanced users who will want to use the JEB API to script tasks, develop plugins, or even craft their own front-ends. Alongside these pages, the API reference documentation website will be an indispensable resource.
- Use the N key to navigate to the next page.
- Use the P key to navigate to the previous page.
- Use the S key to focus the search box.
JEB is delivered electronically over email. Software updates are also delivered over email.
To ensure the software delivery and update emails do not end-up in spam folders, white-list the sender firstname.lastname@example.org.
The software package is distributed as a zip archive, custom-generated for each registered user. It contains the back-end components as well as the reference front-end implementation for desktop platforms, referred to as the UI client through the rest of this manual. This manual focuses mostly on using JEB through the UI client.
The UI client runs on the following platforms:
- Windows (x64)
- Linux/GTK (x64, arm64)
- macOS (x64, arm64)
JEB requires a recent Java SE Development Kit (JDK):
- JEB GUI client:
- Minimal requirement: a recent JDK 8
- Recommended: JDK 11 or above (JDK 11 will be made a requirement in 2022)
- Command-line client: JDK 8 or above.
JEB is built with Java 8, and tested with two JDKs: Oracle JDK 8 and Oracle JDK 11.
Make sure you have a JRE or JDK installed.
javabinary must be accessible from the
- Optionally, you may also want to set a
JAVA_HOMEenvironment variable pointing to your Java installation folder.
64-bit OS with 32-bit JRE
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 your PATH or JAVA_HOME refers to one that matches your system specifications.
If you are setting up a floating Controller, stop here and visit this page.
Execute the startup script appropriate for your environment:
The startup script will locate and decrypt the JEB binary file. It may prompt the user and ask for the decryption password, which can be found within the software delivery email issued by PNF Software. Enter the password to allow the startup script to finish the installation process.
JEB will start.
Start-up scripts get overwritten during an update. Therefore, if you wish to customize your start-up script, we recommend you copy it to a separate file, e.g.
If it is the first time you are launching a non-floating JEB client (e.g., JEB Pro, JEB Android), you will be asked to accept the end-user license agreement, and generate a license key:
- If your machine is connected to the Internet, the license key can be automatically generated by clicking "Generate a Key". If need be, you may also configure your Proxy settings.
- If your machine is not connected to the Internet, you will need to generate a manual key. Click "Manual Key Generation" and follow the instructions. You will be asked to visit the key generation portal on a separate machine (connected to the Internet), and provide your license data.
The license key will be stored in the
bin/jeb-client.cfg file, under the
.LicenseKey key entry. A key is specific to the user-account and machine configuration on which JEB is running. Do not attempt to reuse a key on another system.
If you need to deprecate an older key (e.g., because of a machine replacement, user departure, or else), email Licensing.
Congratulation! JEB is now running.