Frequently Asked Questions
Do you have a brochure/press release/product sheet for JEB?

Yes, we do. The brochure is available in English, French, German, Japanase, Korean, and Chinese.


Do you maintain a change log?

Yes, it is here: changelist.


Does JEB use its own decompiler or are you wrapping around existing ones?

JEB uses our own decompiler. Moreover, it directly decompiles Dalvik bytecode. (No DEX-to-JAR conversion is needed.)


Do I need a DEX-to-JAR converter to open a file in JEB?

No. JEB decompiles Dalvik bytecode. It takes a DEX or APK file as input.


What's the difference between Dalvik bytecode and Java bytecode and how does that impact the decompilation process?

Many Java decompilers out there work on Java bytecode, not Dalvik (Android) bytecode. Therefore, in order to decompile Android apps, those decompilers require their user to perform a conversion of the Dalvik DEX file to Java class files. This conversion process is often unreliable, especially if the Dalvik bytecode has been obfuscated. On top of that, metadata is lost during the conversion process.


How does JEB compare to other Java decompilers?

(First of all, remember that JEB is not a traditional Java decompiler. It decompiles from Dalvik bytecode to Java source.)

It seems a great number of reverse-engineers and analysts use the "dex2jar + JD|JAD" combo. JEB provides a much cleaner, solid output than these tools do. JEB also handles obfuscation at the bytecode level, such as spaghetti code or junk insertion. Lastly, JEB is not just a decompiler: it is a fully interactive analyzer.

If you want to know more about how a pre-alpha of JEB performs vs the tools cited above, see the Comparison page.


What can JEB do that free Java decompilers cannot do?

A lot. As explained above, free Java decompilers are not reliable when it comes to analyzing Android apps: they do not provide reliable output, do not handle obfuscation well or at all, and they're not flexible. In a word, they're not designed for security engineers.

JEB fills all these gaps: our built-in Dalvik disassembler and decompiler offers a reliable output, you can accurately switch between the disassembly and source views, and it is highly interactive and flexible. One example of that is the renaming feature of JEB: classes, methods, fields, etc. can be renamed, and changes are propagated across the entire DEX file, both in the assembly and decompiled views. Our Youtube clip explicitly shows that.


Can I automatically recompile decompiled Java code?

Generally, no. The output Java code would need to be manually or semi-automatically cleansed first. The main reason behind it is that 'goto' statements sometimes have to be introduced to maintain semantic coherence - at the cost of syntactic inaccuracis. (Gotos are invalid in Java.)


Can JEB also decompile Java bytecode?

No. JEB decompiles Dalvik bytecode, the bytecode used by Android apps.


Can I decompile ODEX (Optimized DEX) files?

Yes, but not out of the box. First, de-odex the file. Then, open the generated DEX file with JEB. Deodexing can be achieving using the -x option of baksmali, for instance.


What is the difference between "JEB Full" and "JEB Automation"

JEB Full offers two running modes:

· UI mode: offers powerful graphical refactoring functionalities, better suited for manual analysis.

· Automation mode: console-only (no UI), leaner and faster, better suited for bulk analysis.

JEB Automation offers only the Automation mode.


Can I get a demo build or trial version?

Yes. Please fill out the demo request form.


Is JEB a commercial/freeware/open-source product?

JEB is a commercial product.


What about pricing?

Find out everything about pricing on the Buy page.


What about licensing?

Two types of licensed builds are being offered:

· Regular licenses, aka individual (or named) licenses: once installed on a machine, the build is tied to that machine and the individual using it. (Ownership transfers are doable but require the organization to contact us.)

· Floating licenses: they offer greater flexibility as floating builds are not tied to individual users. Any user within the organization may install a JEB floating client, and run it as long as a seat is available. Floating licenses require the use of a licensing server (the controller), available within JEB itself.

  Example: a floating build with 3 seats allows 3 users (any users) to execute JEB concurrently.


Can I make a purchase using a country-specific payment method or currency?

It may be possible: we have partnered with resellers, they provide this type of service. Check the Buy page.


Is there a forum or mailing list where I can ask for technical questions?

Yes, check our Google Groups community board.


Any thank you notes?

Many people provided feedback and advice, reported bugs, helped with translations, or supported PNF Software in some way or another. My deepest gratitude goes to them. Here is a non-exhaustive list:

· Abhishek Dubey

· Adam D.

· Ange Albertini

· Ashwin Athalye

· Chiraag Aval

· Elad Shapira

· Elia Florio

· Fred Falliere

· Fred Raynal

· Hanan Ben Nun

· Irfan Asrar

· Joan Calvet

· John Kozyrakis

· John D. Park

· Jonathan Omansky

· Juliano Rizzo

· Justin Case

· Justin Jjiang

· Kazuki Iwamoto

· Marco Grassi

· Masata Nishida

· Mathew Rowley

· Miroslav Legen

· Motoaki Yamamura

· Nishant Doshi

· Rolf Rolles

· Ryan MacArthur

· Ryan W. Smith

· Takashi Katuki

· Tamas Rudnai

· Vijeyta Aggarwal

· Yoshiko Watanabe