Decompilation

What is decompilation?

July 7, 2010 - 23:38

Compilation is the act of transforming a high-level language, into a low-level language such as machine code or bytecode. Decompilation is the reverse. It is the act of transforming a low-level language into a high-level language. Java source code is compiled into an intermediate language known as Java bytecode.

Step-by-Step Java Decompilation Example

August 18, 2010 - 13:12

On this page we present a step by step decompilation of the Jasmin code in listing 1 using a stack evaluation method and taking advantage of Java to Java bytecode patterns.

Listing 1

An Evaluation of Current Java Bytecode Decompilers

August 10, 2010 - 22:42

Decompilation of Java bytecode is the act of transforming Java bytecode to Java source code. Although easier than that of decompilation of machine code, problems still arise in Java bytecode decompilation. These include type inference of local variables and exception-handling.

Since the last such evaluation (2003) several new commercial, free and open-source Java decompilers have appeared and some of the older ones have been updated.

MPhil Transfer Report

August 7, 2010 - 10:43

Decompilation of Java bytecode is the act of transforming Java bytecode to Java source code. Although easier than that of decompilation of machine code, problems still arise in Java bytecode decompilation. These include type inference of local variables and exception-handling.

We evaluate the currently available Java bytecode decompilers using an extension of the criteria used in a previous original study.  Although there has been a slight improvement since this study, it was found that none passed all of the tests, each of which were designed to target different problem areas.

End of Year Review 2010 - Java Attacks & Defenses

June 25, 2010 - 05:00

Decompilation is a problem for the software industry, with the global revenue loss due to software piracy estimated to be more than $50 billion in 2008. There are several Java decompilers available but none are 100% effective, and many are obsolete/unmaintained.

We found Java Decompiler, JODE and Dava to be good Java decompilers but not perfect. Dava is particularily suited to aribtrary bytecode, while others are suited to javac generated bytecode.

SCAM2009 Presentation - Decompiling Java

September 23, 2009 - 05:00

Decompilation of Java bytecode is the act of transforming Java bytecode to Java source code. Although easier than that of decompilation of machine code, problems still arise in Java bytecode decompilation.

End of Year Review 2009 - Decompiling Java

July 7, 2009 - 05:00

Decompilation is a problem for the software industry, with the global revenue loss due to software piracy estimated to be more than $50 billion in 2008. There are several Java decompilers available but none are 100% effective, and many are obsolete/unmaintained.

We found Java Decompiler, JODE and Dava to be good Java decompilers but not perfect. Dava is particularily suited to aribtrary bytecode, while others are suited to javac generated bytecode.

Spring Review Week 2009: Obfuscating Transformations for Decompilation Resistant Java

June 2, 2009 - 05:00

Computer programs are written by a programmer in an English-like programming language, known as source-code. There are many programming languages available to programmers who can choose a language for their specific needs.

Decompiling Java - Working Document

June 2, 2009 - 05:00

Decompiling Java is a work-in-progress containing mostly background information relating to decompilation, obfuscation and watermarking.

Subscribe to Decompilation