From cb8823eb0b446d5c1b9b580e5578866e691771d8 Mon Sep 17 00:00:00 2001 From: liach Date: Wed, 15 May 2019 22:03:13 -0700 Subject: Feature/weave (#138) * Add weave/stitch style command system to enigma Also fixed divide by zero stupidity Signed-off-by: liach * Add tests for package access index and command Signed-off-by: liach * Minor tweaks Signed-off-by: liach --- .../cuchaz/enigma/command/DeobfuscateCommand.java | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java (limited to 'src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java') diff --git a/src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java b/src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java new file mode 100644 index 0000000..5d49938 --- /dev/null +++ b/src/main/java/cuchaz/enigma/command/DeobfuscateCommand.java @@ -0,0 +1,33 @@ +package cuchaz.enigma.command; + +import cuchaz.enigma.Deobfuscator; + +import java.io.File; +import java.nio.file.Path; +import java.util.jar.JarFile; + +public class DeobfuscateCommand extends Command { + + public DeobfuscateCommand() { + super("deobfuscate"); + } + + @Override + public String getUsage() { + return " []"; + } + + @Override + public boolean isValidArgument(int length) { + return length == 2 || length == 3; + } + + @Override + public void run(String... args) throws Exception { + File fileJarIn = getReadableFile(getArg(args, 0, "in jar", true)); + File fileJarOut = getWritableFile(getArg(args, 1, "out jar", true)); + Path fileMappings = getReadablePath(getArg(args, 2, "mappings file", false)); + Deobfuscator deobfuscator = getDeobfuscator(fileMappings, new JarFile(fileJarIn)); + deobfuscator.writeTransformedJar(fileJarOut, new Command.ConsoleProgressListener()); + } +} -- cgit v1.2.3