skidfuscatordev / skidfuscator-java-obfuscator

Public proof-of-concept obfuscator using the MapleIR framework designed by cts & bibl
MIT License
579 stars 59 forks source link

JSR isnt supported #19

Closed Z3R0-cmd closed 2 years ago

Z3R0-cmd commented 2 years ago

Describe the bug This probably should go on the MapleIR repo, but idk.

To Reproduce Steps to reproduce the behavior:

  1. Obfuscate any jar with a jsr opcode anywhere

Expected behavior I expect it to obfuscate the jar like normal.

Screenshots

Caused by: java.lang.UnsupportedOperationException: jsr org/eclipse/jgit/internal/storage/dfs/DfsInserter.release()V
        at org.mapleir.ir.cfg.builder.GenerationPass.process(GenerationPass.java:267)
        at org.mapleir.ir.cfg.builder.GenerationPass.processQueue(GenerationPass.java:1600)
        at org.mapleir.ir.cfg.builder.GenerationPass.run(GenerationPass.java:1620)
        at org.mapleir.ir.cfg.builder.ControlFlowGraphBuilder.buildImpl(ControlFlowGraphBuilder.java:75)
        at dev.skidfuscator.obf.creator.SkidFlowGraphBuilder.build(SkidFlowGraphBuilder.java:20)
        at java.util.HashMap.computeIfAbsent(HashMap.java:1128)
        at org.mapleir.stdlib.collections.map.NullPermeableHashMap.getNonNull(NullPermeableHashMap.java:29)
        at org.mapleir.context.IRCache.getFor(IRCache.java:26)
        at dev.skidfuscator.obf.SkidMethodRenderer.lambda$render$8(SkidMethodRenderer.java:121)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1580)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
        at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
        at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)

Desktop (please complete the following information):

Additional context

master7720 commented 2 years ago

windows

terminalsin commented 2 years ago

Can't support JSR yet because it does foonky stuff. Will look into adding support to it in MapleIR