
The normal procedure in this case is to raise a ticket with the vendor, describe the problem in detail, and wait for a patch to get released. The vendor of the product has not shipped the source code along with the product.Īssume that you have encountered a bug during development that is traced back to be original within a specific class in the third-party library. Let’s say you are writing a Java application that depends on a third-party library which is a commercial product. Learn Java from scratch by taking a course at All these aid in the the accuracy of the decompilation process. This is to do with the Java class file structure that includes extra information like the (human readable) variable, method and class names, byte code to source code line number mapping, and similar data for debugging purposes. C or C++, Java decompilation provides the closest approximation to the original source code. However, when compared with older programming languages, e.g. The original source code is not recovered, but instead an equivalent of the original is produced as output, which if compiled should give the same class file that was reverse engineered.Īs a simple example of the difference with original code, any source code generated through decompilation will not include any of the comments that may have been available in the original source.ĭecompilation is therefore an approximate process.

Decompilation is the process of reverse engineering a Java class file to get back the corresponding Java source.
