From f5130c1a980a682f2fcc2cac686021d3ed24e05e Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 1 Apr 2016 23:59:40 -0400 Subject: [PATCH] Add injector/mapper main classes/entrypoints. Maybe should make those tests use these? --- .../runelite/deob/updater/UpdateInject.java | 42 ++++++++++++++++ .../runelite/deob/updater/UpdateMappings.java | 48 +++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 src/main/java/net/runelite/deob/updater/UpdateInject.java create mode 100644 src/main/java/net/runelite/deob/updater/UpdateMappings.java diff --git a/src/main/java/net/runelite/deob/updater/UpdateInject.java b/src/main/java/net/runelite/deob/updater/UpdateInject.java new file mode 100644 index 0000000000..03ad39be22 --- /dev/null +++ b/src/main/java/net/runelite/deob/updater/UpdateInject.java @@ -0,0 +1,42 @@ +package net.runelite.deob.updater; + +import java.io.File; +import java.io.IOException; +import net.runelite.asm.ClassGroup; +import net.runelite.deob.injection.Inject; +import net.runelite.deob.util.JarUtil; + +public class UpdateInject +{ + private final ClassGroup deobfuscated, vanilla; + + public UpdateInject(ClassGroup deobfuscated, ClassGroup vanilla) + { + this.deobfuscated = deobfuscated; + this.vanilla = vanilla; + } + + public void inject() + { + Inject instance = new Inject(deobfuscated, vanilla); + instance.run(); + } + + public void save(File out) throws IOException + { + JarUtil.saveJar(vanilla, out); + } + + public static void main(String[] args) throws IOException + { + if (args.length < 3) + System.exit(-1); + + UpdateInject u = new UpdateInject( + JarUtil.loadJar(new File(args[0])), + JarUtil.loadJar(new File(args[1])) + ); + u.inject(); + u.save(new File(args[2])); + } +} diff --git a/src/main/java/net/runelite/deob/updater/UpdateMappings.java b/src/main/java/net/runelite/deob/updater/UpdateMappings.java new file mode 100644 index 0000000000..30f6c26798 --- /dev/null +++ b/src/main/java/net/runelite/deob/updater/UpdateMappings.java @@ -0,0 +1,48 @@ +package net.runelite.deob.updater; + +import java.io.File; +import java.io.IOException; +import net.runelite.asm.ClassGroup; +import net.runelite.deob.deobfuscators.rename.AnnotationMapper; +import net.runelite.deob.deobfuscators.rename.Mapper; +import net.runelite.deob.deobfuscators.rename.ParallelExecutorMapping; +import net.runelite.deob.util.JarUtil; + +public class UpdateMappings +{ + private final ClassGroup group1, group2; + + public UpdateMappings(ClassGroup group1, ClassGroup group2) + { + this.group1 = group1; + this.group2 = group2; + } + + public void update() + { + Mapper mapper = new Mapper(group1, group2); + mapper.run(); + ParallelExecutorMapping mapping = mapper.getMapping(); + + AnnotationMapper amapper = new AnnotationMapper(group1, group2, mapping); + amapper.run(); + } + + public void save(File out) throws IOException + { + JarUtil.saveJar(group2, out); + } + + public static void main(String[] args) throws IOException + { + if (args.length < 3) + System.exit(-1); + + UpdateMappings u = new UpdateMappings( + JarUtil.loadJar(new File(args[0])), + JarUtil.loadJar(new File(args[1])) + ); + u.update(); + u.save(new File(args[2])); + } +}