Heavy flow obfuscation results in invalid bytecode
Opened this issue · 0 comments
Storyyeller commented
Describe the bug
When I try to obfuscate using heavy flow obfuscation, the result is invalid bytecode which fails bytecode verification when I try to run it. It does work if I use "light" flow obfuscation instead.
To Reproduce
Run bozar on attached Primes.jar with heavy flow obfuscation.
This zip has the input jar I used, as well as the broken output jar.
bug.zip
Expected behavior
it works
Bozar version
1.7.0 (latest)
Additional context
Error: Unable to initialize main class Primes
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
Primes.<init>([I[III)V @629: pop2
Reason:
Type top (current frame, stack[1]) is not assignable to category1 type
Current Frame:
bci: @629
flags: { flagThisUninit }
locals: { uninitializedThis, '[I', '[I', integer, integer, top, top, top, top, 'java/lang/invoke/MethodType' }
stack: { uninitializedThis, top, integer }
```