Closed chachako closed 3 years ago
There is insufficient info here to reproduce exactly what went wrong in this case; however, I have been aware of the fact for awhile that StackEmulator is totally flawed (doesn't take jumps or branching into account). This is something that will be addressed when I roll out radon 3 either via a rewrite or just removing it altogether.
This sounds great! Can I know when it will arrive?
An ETA of when I pick up work on v3 again directly depends on when I can get my schoolwork underhand. I'd estimate that I can probably get back in the game at full speed somewhere in June. This means that v3 probably won't be fully done until at best mid-to-late-June or possibly even later.
When I only use
replace_goto: true
split_blocks: true
fake_catch_blocks: true
the StackEmulationException error will disappear completely.
Also seems to (sometimes?) break on (chained?) Kotlin int ranges.
// works
hovered = mouseX >= xPosition && mouseY >= yPosition && mouseX < xPosition + width && mouseY < yPosition + height
// haha radon go boom
hovered = mouseX in xPosition..(xPosition + width) && mouseY in yPosition..(yPosition + height)
stack trace + bytecode (IntelliJ. Tools, Kotlin, Show Kotlin Bytecode) https://hasteb.in/imehetek
there also appear to be some opcodes missing from asm entirely, unsure if asm remaps these into their more basic form automatically but there are one-byte variants of iload, aload, istore and astore being iload_0-3 (opcodes 26 to 29), aload_0-3 (42 to 45), istore_0-3 (59 to 62) and astore_0-3 (75 to 78)
there also appear to be some opcodes missing from asm entirely, unsure if asm remaps these into their more basic form automatically but there are one-byte variants of iload, aload, istore and astore being iload_0-3 (opcodes 26 to 29), aload_0-3 (42 to 45), istore_0-3 (59 to 62) and astore_0-3 (75 to 78)
They are abstracted away by asm, so no, they're not missing.
-snip-
They are abstracted away by asm, so no, they're not missing.
figured as much, did confuse me for a bit though
I am closing this because this portion of radon will be removed in the rewrite.
Description of Bug: Flow obfuscate failed!
Radon version: 2.0
Configuration:
Info