subscribe: Posts | Comments

Known bugs and limitations

  • * In certain cases when decompiling classes which contain inner classes,
    Jad cannot reliably sort out the extra arguments added to class
    constructors by Java compiler. In those cases Jad can
    generate constructors with an incorrect number of arguments or
    can fail to declare some local variables as final.
  • *ZIP and JAR files are not supported.
    However you can unzip those files and decompile the whole class tree.
    Use the instructions from Readme.txt.
  • *In those rare cases when Jad is unable to fully decompile
    constructs like labeled blocks with breaks
    or nested loops with inter-loop break/continue statements it
    generates the source with labels and goto statements which
    reflects program’s control flow and displays the message "Couldn’t
    fully decompile method <name>". Also when Jad couldn’t reconstruct
    all try-catch-finally statements it displays the message "Couldn’t
    resolve all exception handlers in method <name>".
  • *Currently Jad ignores the contents of the Line Number Table Attribute
    and the Source File Attribute.
  • *Currently Jad makes no use of the Java class hierarchy information.
    Consequently, Jad always chooses java.lang.Object as a common superclass of two
    different classes and inserts auxiliary casts where necessary.
  • *Jad doesn’t handle inlined functions well.