Menu

#31 Obfuscator fail with ArrayIndexException

open
obfuscator (18)
6
2002-04-08
2002-04-08
No

I am trying to use your JODE obfuscator code on a JDK1.3.1_01 java project. I get the following
error. Any ideas?

.......
used after analyze: 18630456
Renaming methods
Time used: 1082
Transforming the classes
Time used: 2603
used after transform: 20784888
Writing new classes
java.lang.ArrayIndexOutOfBoundsException
at jode.bytecode.BytecodeInfo.calculateMaxStack(BytecodeInfo.java:955)
at jode.bytecode.BytecodeInfo.prepareWriting(BytecodeInfo.java:1199)
at jode.bytecode.MethodInfo.prepareWriting(MethodInfo.java:97)
at jode.bytecode.ClassInfo.prepareWriting(ClassInfo.java:376)
at jode.bytecode.ClassInfo.write(ClassInfo.java:470)
at jode.obfuscator.ClassIdentifier.storeClass(ClassIdentifier.java:673)
at jode.obfuscator.PackageIdentifier.storeClasses(PackageIdentifier.java:381)
at jode.obfuscator.PackageIdentifier.storeClasses(PackageIdentifier.java:373)
at jode.obfuscator.PackageIdentifier.storeClasses(PackageIdentifier.java:373)
at jode.obfuscator.PackageIdentifier.storeClasses(PackageIdentifier.java:373)
at jode.obfuscator.PackageIdentifier.storeClasses(PackageIdentifier.java:373)
......

Discussion

  • Alexei Drummond

    Alexei Drummond - 2002-04-08
    • priority: 5 --> 6
    • assigned_to: nobody --> hoenicke
     
  • Nobody/Anonymous

    Logged In: NO

    If I preserve all classes JODE works.

    When I try to selectively to preserve classes I get the
    same error, and earlier on I get a series of:

    java.util.NoSuchElementException
    at jode.bytecode.BytecodeInfo$1.next
    (BytecodeInfo.java:123)
    at
    jode.obfuscator.modules.LocalOptimizer.calcLocalInfo
    (LocalOptimizer.j
    ava:370)
    at
    jode.obfuscator.modules.LocalOptimizer.transformCode
    (LocalOptimizer.j
    ava:916)
    at
    jode.obfuscator.MethodIdentifier.doTransformations
    (MethodIdentifier.j
    ava:175)
    ........
    at
    jode.obfuscator.PackageIdentifier.doTransformations
    (PackageIdentifier
    .java:322)
    at jode.obfuscator.ClassBundle.doTransformations
    (ClassBundle.java:421)
    at jode.obfuscator.ClassBundle.run
    (ClassBundle.java:526)
    at jode.obfuscator.Main.main(Main.java:189)

     
  • Thomas Greenwood

    Logged In: YES
    user_id=563223

    I seem to get this bug if I don't strip unreachable code
    eg:
    strip="lvt"
    will fail but:
    strip="unreach","lvt"
    works!

     

Log in to post a comment.