Skip to content

Instantly share code, notes, and snippets.

@RainWarrior
Created October 27, 2014 21:00
Show Gist options
  • Save RainWarrior/cadb17887719d53be266 to your computer and use it in GitHub Desktop.
Save RainWarrior/cadb17887719d53be266 to your computer and use it in GitHub Desktop.

Implementation source: https://github.com/RainWarrior/AsmStuff/commit/8c8290bcb200ff069361b52a570b2172a78fe77c

Implementation binary (implemented with -m key to my old obfuscator): https://dl.dropboxusercontent.com/u/7533713/tree_obfuscator_2.10-0.2-one-jar.jar

Example usage, will convert in.jar to out.jar:

java -jar tree_obfuscator.jar -s empty.srg -m -cf in.jar -c:in.jar=out.jar

Test case: https://github.com/RainWarrior/AsmStuff/blob/master/mixin/MixinTest.java

Only one annotation is actually needed, if method implementation is fixed. This also allows to convert code in 1 pass, after method propagation has been made (which was conveniently needed for obfuscation).

Implementation is in java, only dependency in previously-written code is method resolver (can get list of all inherited methods).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment