Menu

#95 StackOverflowError decompiling obfuscated class

open
nobody
None
5
2008-01-10
2008-01-10
Anonymous
No

Decompiling the class file produces (reproducable) the below StackOverflowException.

This is a class file is from the Tonicpont PPT Viewer - a very program using GPL'ed code but I haven't been able to find any source of it so far since Google sold the company...
Jad also hasn't been able to make any sense out of the bytecode.

The full code of the metioned program can be downloaded here, although I'm not sure for how long since development has stopped some time ago:
> http://downloads.tonicsystems.com/viewer/tonicpoint.jar

I've tried increasing the Java Runtime's Stack but without any luck, the stack overflow only occures later.

Discussion

  • Nobody/Anonymous

    decompilation of this class file produces error

     
  • Nobody/Anonymous

    Logged In: NO

    Sorry, forgot the Stacktrace, here it is:

    Beim Dekompilieren ist ein Fehler aufgetreten:java.lang.StackOverflowError
    at java.util.Collections$EmptySet$1.<init>(Collections.java:2907)
    at java.util.Collections$EmptySet.iterator(Collections.java:2907)
    at java.util.AbstractCollection.addAll(AbstractCollection.java:303)
    at net.sf.jode.flow.StructuredBlock.propagateUsage(StructuredBlock.java:378)
    at net.sf.jode.flow.FlowBlock.makeDeclaration(FlowBlock.java:1770)
    at net.sf.jode.decompiler.MethodAnalyzer.makeDeclaration(MethodAnalyzer.java:676)
    at net.sf.jode.decompiler.ClassAnalyzer.makeDeclaration(ClassAnalyzer.java:454)
    at net.sf.jode.expr.InvokeOperator.makeDeclaration(InvokeOperator.java:907)
    at net.sf.jode.flow.InstructionContainer.makeDeclaration(InstructionContainer.java:56)
    at net.sf.jode.flow.InstructionBlock.makeDeclaration(InstructionBlock.java:129)
    [...] // repeated several times
    at net.sf.jode.flow.FlowBlock.makeDeclaration(FlowBlock.java:1771)
    at net.sf.jode.decompiler.MethodAnalyzer.makeDeclaration(MethodAnalyzer.java:676)
    at net.sf.jode.decompiler.ClassAnalyzer.makeDeclaration(ClassAnalyzer.java:454)
    at net.sf.jode.expr.InvokeOperator.makeDeclaration(InvokeOperator.java:907)
    at net.sf.jode.flow.InstructionContainer.makeDeclaration(InstructionContainer.java:56)
    at net.sf.jode.flow.InstructionBlock.makeDeclaration(InstructionBlock.java:129)
    at net.sf.jode.flow.FlowBlock.makeDeclaration(FlowBlock.java:1771)
    at net.sf.jode.decompiler.MethodAnalyzer.makeDeclaration(MethodAnalyzer.java:676)
    at net.sf.jode.decompiler.ClassAnalyzer.makeDeclaration(ClassAnalyzer.java:454)
    at net.sf.jode.expr.InvokeOperator.makeDeclaration(InvokeOperator.java:907)
    at net.sf.jode.flow.InstructionContainer.makeDeclaration(InstructionContainer.java:56)
    at net.sf.jode.flow.InstructionBlock.makeDeclaration(InstructionBlock.java:129)

     

Log in to post a comment.