Skip to content

Latest commit

 

History

History
53 lines (43 loc) · 1.18 KB

File metadata and controls

53 lines (43 loc) · 1.18 KB

Remake

Better version (i guess) here: https://github.com/StellarTweaks/Remake

Initializing

 Remake.init();

Adding a transformer

Remake.add(new TestTransformer());

Retransform a class

Remake.remake(Test.class);

Example transformer

import fr.bodyalhoha.remake.transformers.TransformClass;
import fr.bodyalhoha.remake.transformers.Transformer;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.tree.ClassNode;
import org.objectweb.asm.tree.LdcInsnNode;

@TransformClass(
        klass = "fr/bodyalhoha/test/Test"
)
public class TestTransformer extends Transformer {
    @Override
    public void run(ClassNode cn) {
        cn.methods.stream().filter(mn -> mn.name.equalsIgnoreCase("hi")).forEach((mn) -> {
            mn.instructions.forEach((insn) -> {
                if(insn.getOpcode() == Opcodes.LDC){
                    LdcInsnNode ldc = (LdcInsnNode)insn;
                    if(ldc.cst.equals("Hello World!"))
                        ldc.cst = "Hooked!";

                }
            });
        });
    }
}

Warning

This is in beta, it only currently supports Windows.

Credits

Thanks to NyanCatForEver for some help