forked from openrs2/openrs2
This is in preparation for adding a new deob module which invokes the bytecode deobfuscator, decompiler and AST deobfuscator in turn. Signed-off-by: Graham <gpe@openrs2.org>bzip2
parent
ded1d99924
commit
3cb7ee13f9
@ -1,12 +1,12 @@ |
|||||||
<component name="ProjectRunConfigurationManager"> |
<component name="ProjectRunConfigurationManager"> |
||||||
<configuration default="false" name="Deobfuscator" type="JetRunConfigurationType"> |
<configuration default="false" name="BytecodeDeobfuscator" type="JetRunConfigurationType"> |
||||||
<module name="openrs2.deob.main" /> |
<module name="openrs2.deob-bytecode.main" /> |
||||||
<option name="VM_PARAMETERS" value="" /> |
<option name="VM_PARAMETERS" value="" /> |
||||||
<option name="PROGRAM_PARAMETERS" value="" /> |
<option name="PROGRAM_PARAMETERS" value="" /> |
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> |
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> |
||||||
<option name="ALTERNATIVE_JRE_PATH" /> |
<option name="ALTERNATIVE_JRE_PATH" /> |
||||||
<option name="PASS_PARENT_ENVS" value="true" /> |
<option name="PASS_PARENT_ENVS" value="true" /> |
||||||
<option name="MAIN_CLASS_NAME" value="org.openrs2.deob.DeobfuscateCommandKt" /> |
<option name="MAIN_CLASS_NAME" value="org.openrs2.deob.bytecode.DeobfuscateBytecodeCommandKt" /> |
||||||
<option name="WORKING_DIRECTORY" value="" /> |
<option name="WORKING_DIRECTORY" value="" /> |
||||||
<method v="2"> |
<method v="2"> |
||||||
<option name="Make" enabled="true" /> |
<option name="Make" enabled="true" /> |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob |
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
import org.openrs2.asm.MemberRef |
import org.openrs2.asm.MemberRef |
||||||
import org.openrs2.util.collect.DisjointSet |
import org.openrs2.util.collect.DisjointSet |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob |
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
import org.openrs2.asm.MemberRef |
import org.openrs2.asm.MemberRef |
||||||
|
|
@ -1,43 +1,43 @@ |
|||||||
package org.openrs2.deob |
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
import com.google.inject.AbstractModule |
import com.google.inject.AbstractModule |
||||||
import com.google.inject.Scopes |
import com.google.inject.Scopes |
||||||
import com.google.inject.multibindings.Multibinder |
import com.google.inject.multibindings.Multibinder |
||||||
import org.openrs2.asm.transform.Transformer |
import org.openrs2.asm.transform.Transformer |
||||||
import org.openrs2.deob.transform.BitShiftTransformer |
import org.openrs2.deob.bytecode.transform.BitShiftTransformer |
||||||
import org.openrs2.deob.transform.BitwiseOpTransformer |
import org.openrs2.deob.bytecode.transform.BitwiseOpTransformer |
||||||
import org.openrs2.deob.transform.CanvasTransformer |
import org.openrs2.deob.bytecode.transform.CanvasTransformer |
||||||
import org.openrs2.deob.transform.ClassLiteralTransformer |
import org.openrs2.deob.bytecode.transform.ClassLiteralTransformer |
||||||
import org.openrs2.deob.transform.ConstantArgTransformer |
import org.openrs2.deob.bytecode.transform.ConstantArgTransformer |
||||||
import org.openrs2.deob.transform.CopyPropagationTransformer |
import org.openrs2.deob.bytecode.transform.CopyPropagationTransformer |
||||||
import org.openrs2.deob.transform.CounterTransformer |
import org.openrs2.deob.bytecode.transform.CounterTransformer |
||||||
import org.openrs2.deob.transform.EmptyClassTransformer |
import org.openrs2.deob.bytecode.transform.EmptyClassTransformer |
||||||
import org.openrs2.deob.transform.ExceptionTracingTransformer |
import org.openrs2.deob.bytecode.transform.ExceptionTracingTransformer |
||||||
import org.openrs2.deob.transform.FernflowerExceptionTransformer |
import org.openrs2.deob.bytecode.transform.FernflowerExceptionTransformer |
||||||
import org.openrs2.deob.transform.FieldOrderTransformer |
import org.openrs2.deob.bytecode.transform.FieldOrderTransformer |
||||||
import org.openrs2.deob.transform.FinalFieldTransformer |
import org.openrs2.deob.bytecode.transform.FinalFieldTransformer |
||||||
import org.openrs2.deob.transform.FinalTransformer |
import org.openrs2.deob.bytecode.transform.FinalTransformer |
||||||
import org.openrs2.deob.transform.InvokeSpecialTransformer |
import org.openrs2.deob.bytecode.transform.InvokeSpecialTransformer |
||||||
import org.openrs2.deob.transform.MethodOrderTransformer |
import org.openrs2.deob.bytecode.transform.MethodOrderTransformer |
||||||
import org.openrs2.deob.transform.MonitorTransformer |
import org.openrs2.deob.bytecode.transform.MonitorTransformer |
||||||
import org.openrs2.deob.transform.OpaquePredicateTransformer |
import org.openrs2.deob.bytecode.transform.OpaquePredicateTransformer |
||||||
import org.openrs2.deob.transform.OriginalNameTransformer |
import org.openrs2.deob.bytecode.transform.OriginalNameTransformer |
||||||
import org.openrs2.deob.transform.OriginalPcRestoreTransformer |
import org.openrs2.deob.bytecode.transform.OriginalPcRestoreTransformer |
||||||
import org.openrs2.deob.transform.OriginalPcSaveTransformer |
import org.openrs2.deob.bytecode.transform.OriginalPcSaveTransformer |
||||||
import org.openrs2.deob.transform.OverrideTransformer |
import org.openrs2.deob.bytecode.transform.OverrideTransformer |
||||||
import org.openrs2.deob.transform.PatcherTransformer |
import org.openrs2.deob.bytecode.transform.PatcherTransformer |
||||||
import org.openrs2.deob.transform.RedundantGotoTransformer |
import org.openrs2.deob.bytecode.transform.RedundantGotoTransformer |
||||||
import org.openrs2.deob.transform.RemapTransformer |
import org.openrs2.deob.bytecode.transform.RemapTransformer |
||||||
import org.openrs2.deob.transform.ResetTransformer |
import org.openrs2.deob.bytecode.transform.ResetTransformer |
||||||
import org.openrs2.deob.transform.UnusedArgTransformer |
import org.openrs2.deob.bytecode.transform.UnusedArgTransformer |
||||||
import org.openrs2.deob.transform.UnusedLocalTransformer |
import org.openrs2.deob.bytecode.transform.UnusedLocalTransformer |
||||||
import org.openrs2.deob.transform.UnusedMethodTransformer |
import org.openrs2.deob.bytecode.transform.UnusedMethodTransformer |
||||||
import org.openrs2.deob.transform.VisibilityTransformer |
import org.openrs2.deob.bytecode.transform.VisibilityTransformer |
||||||
import org.openrs2.deob.util.DeobfuscatorUtilModule |
import org.openrs2.deob.util.DeobfuscatorUtilModule |
||||||
import org.openrs2.patcher.PatcherModule |
import org.openrs2.patcher.PatcherModule |
||||||
import org.openrs2.patcher.transform.ResourceTransformer |
import org.openrs2.patcher.transform.ResourceTransformer |
||||||
|
|
||||||
public object DeobfuscatorModule : AbstractModule() { |
public object BytecodeDeobfuscatorModule : AbstractModule() { |
||||||
override fun configure() { |
override fun configure() { |
||||||
install(PatcherModule) |
install(PatcherModule) |
||||||
install(DeobfuscatorUtilModule) |
install(DeobfuscatorUtilModule) |
@ -0,0 +1,18 @@ |
|||||||
|
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
|
import com.github.ajalt.clikt.core.CliktCommand |
||||||
|
import com.google.inject.Guice |
||||||
|
import java.nio.file.Paths |
||||||
|
|
||||||
|
public fun main(args: Array<String>): Unit = DeobfuscateBytecodeCommand().main(args) |
||||||
|
|
||||||
|
public class DeobfuscateBytecodeCommand : CliktCommand(name = "deob-bytecode") { |
||||||
|
override fun run() { |
||||||
|
val injector = Guice.createInjector(BytecodeDeobfuscatorModule) |
||||||
|
val deobfuscator = injector.getInstance(BytecodeDeobfuscator::class.java) |
||||||
|
deobfuscator.run( |
||||||
|
input = Paths.get("nonfree/share/client"), |
||||||
|
output = Paths.get("nonfree/var/cache/deob") |
||||||
|
) |
||||||
|
} |
||||||
|
} |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob |
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
import javax.inject.Qualifier |
import javax.inject.Qualifier |
||||||
|
|
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob |
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
import org.objectweb.asm.Attribute |
import org.objectweb.asm.Attribute |
||||||
import org.objectweb.asm.ByteVector |
import org.objectweb.asm.ByteVector |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob |
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
import org.openrs2.asm.filter.GlobClassFilter |
import org.openrs2.asm.filter.GlobClassFilter |
||||||
import org.openrs2.asm.filter.GlobMemberFilter |
import org.openrs2.asm.filter.GlobMemberFilter |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob |
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper |
import com.fasterxml.jackson.databind.ObjectMapper |
||||||
import org.openrs2.yaml.Yaml |
import org.openrs2.yaml.Yaml |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob |
package org.openrs2.deob.bytecode |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Type |
import org.objectweb.asm.Type |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.Type |
import org.objectweb.asm.Type |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.tree.AbstractInsnNode |
import org.objectweb.asm.tree.AbstractInsnNode |
||||||
import org.objectweb.asm.tree.analysis.BasicValue |
import org.objectweb.asm.tree.analysis.BasicValue |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.jgrapht.Graph |
import org.jgrapht.Graph |
||||||
import org.jgrapht.graph.AsUnmodifiableGraph |
import org.jgrapht.graph.AsUnmodifiableGraph |
@ -1,3 +1,3 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
public data class CopyAssignment(val destination: Int, val source: Int) |
public data class CopyAssignment(val destination: Int, val source: Int) |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.tree.AbstractInsnNode |
import org.objectweb.asm.tree.AbstractInsnNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.jgrapht.Graph |
import org.jgrapht.Graph |
||||||
import org.jgrapht.graph.DefaultEdge |
import org.jgrapht.graph.DefaultEdge |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.tree.AbstractInsnNode |
import org.objectweb.asm.tree.AbstractInsnNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
public enum class FieldWriteCount { |
public enum class FieldWriteCount { |
||||||
NEVER, |
NEVER, |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes.IFEQ |
import org.objectweb.asm.Opcodes.IFEQ |
||||||
import org.objectweb.asm.Opcodes.IFGE |
import org.objectweb.asm.Opcodes.IFGE |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
public enum class IntBranchResult { |
public enum class IntBranchResult { |
||||||
ALWAYS_TAKEN, NEVER_TAKEN, UNKNOWN; |
ALWAYS_TAKEN, NEVER_TAKEN, UNKNOWN; |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.Type |
import org.objectweb.asm.Type |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.tree.analysis.BasicValue |
import org.objectweb.asm.tree.analysis.BasicValue |
||||||
import org.objectweb.asm.tree.analysis.Value |
import org.objectweb.asm.tree.analysis.Value |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
public sealed class IntValueSet { |
public sealed class IntValueSet { |
||||||
public data class Constant(val values: Set<Int>) : IntValueSet() { |
public data class Constant(val values: Set<Int>) : IntValueSet() { |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import it.unimi.dsi.fastutil.ints.IntOpenHashSet |
import it.unimi.dsi.fastutil.ints.IntOpenHashSet |
||||||
import it.unimi.dsi.fastutil.ints.IntSet |
import it.unimi.dsi.fastutil.ints.IntSet |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.Type |
import org.objectweb.asm.Type |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.analysis |
package org.openrs2.deob.bytecode.analysis |
||||||
|
|
||||||
import org.objectweb.asm.tree.analysis.BasicValue |
import org.objectweb.asm.tree.analysis.BasicValue |
||||||
import org.objectweb.asm.tree.analysis.Value |
import org.objectweb.asm.tree.analysis.Value |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.filter |
package org.openrs2.deob.bytecode.filter |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.tree.MethodNode |
import org.objectweb.asm.tree.MethodNode |
@ -1,6 +1,6 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import org.openrs2.deob.ArgRef |
import org.openrs2.deob.bytecode.ArgRef |
||||||
import org.openrs2.deob.util.map.NameMap |
import org.openrs2.deob.util.map.NameMap |
||||||
|
|
||||||
public class ArgumentMappingGenerator( |
public class ArgumentMappingGenerator( |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.openrs2.asm.classpath.ClassMetadata |
import org.openrs2.asm.classpath.ClassMetadata |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import org.openrs2.asm.classpath.ExtendedRemapper |
import org.openrs2.asm.classpath.ExtendedRemapper |
||||||
import org.openrs2.asm.classpath.Library |
import org.openrs2.asm.classpath.Library |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import org.objectweb.asm.Type |
import org.objectweb.asm.Type |
||||||
import org.openrs2.asm.MemberRef |
import org.openrs2.asm.MemberRef |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.openrs2.asm.MemberDesc |
import org.openrs2.asm.MemberDesc |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
public class NameGenerator { |
public class NameGenerator { |
||||||
private val prefixes = mutableMapOf<String, Int>() |
private val prefixes = mutableMapOf<String, Int>() |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
public class StaticClassMapping { |
public class StaticClassMapping { |
||||||
private val nameGenerator = NameGenerator() |
private val nameGenerator = NameGenerator() |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import org.objectweb.asm.tree.AbstractInsnNode |
import org.objectweb.asm.tree.AbstractInsnNode |
||||||
|
|
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.tree.AbstractInsnNode |
import org.objectweb.asm.tree.AbstractInsnNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.openrs2.asm.MemberRef |
import org.openrs2.asm.MemberRef |
@ -1,12 +1,12 @@ |
|||||||
package org.openrs2.deob.remap |
package org.openrs2.deob.bytecode.remap |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.tree.AbstractInsnNode |
import org.objectweb.asm.tree.AbstractInsnNode |
||||||
import org.openrs2.asm.MemberRef |
import org.openrs2.asm.MemberRef |
||||||
import org.openrs2.asm.classpath.ClassPath |
import org.openrs2.asm.classpath.ClassPath |
||||||
import org.openrs2.asm.classpath.ExtendedRemapper |
import org.openrs2.asm.classpath.ExtendedRemapper |
||||||
import org.openrs2.deob.ArgRef |
import org.openrs2.deob.bytecode.ArgRef |
||||||
import org.openrs2.deob.Profile |
import org.openrs2.deob.bytecode.Profile |
||||||
import org.openrs2.deob.util.map.NameMap |
import org.openrs2.deob.util.map.NameMap |
||||||
import org.openrs2.util.collect.DisjointSet |
import org.openrs2.util.collect.DisjointSet |
||||||
|
|
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.tree.ClassNode |
import org.objectweb.asm.tree.ClassNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.tree.ClassNode |
import org.objectweb.asm.tree.ClassNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Type |
import org.objectweb.asm.Type |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.tree.ClassNode |
import org.objectweb.asm.tree.ClassNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.tree.ClassNode |
import org.objectweb.asm.tree.ClassNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
||||||
import org.objectweb.asm.tree.ClassNode |
import org.objectweb.asm.tree.ClassNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import org.objectweb.asm.Type |
import org.objectweb.asm.Type |
||||||
import org.objectweb.asm.tree.AnnotationNode |
import org.objectweb.asm.tree.AnnotationNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.tree.ClassNode |
import org.objectweb.asm.tree.ClassNode |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.openrs2.asm.classpath.ClassPath |
import org.openrs2.asm.classpath.ClassPath |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,9 +1,9 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import org.openrs2.asm.classpath.ClassPath |
import org.openrs2.asm.classpath.ClassPath |
||||||
import org.openrs2.asm.transform.Transformer |
import org.openrs2.asm.transform.Transformer |
||||||
import org.openrs2.deob.Profile |
import org.openrs2.deob.bytecode.Profile |
||||||
import org.openrs2.deob.remap.TypedRemapper |
import org.openrs2.deob.bytecode.remap.TypedRemapper |
||||||
import org.openrs2.deob.util.map.NameMap |
import org.openrs2.deob.util.map.NameMap |
||||||
import javax.inject.Inject |
import javax.inject.Inject |
||||||
import javax.inject.Singleton |
import javax.inject.Singleton |
@ -1,4 +1,4 @@ |
|||||||
package org.openrs2.deob.transform |
package org.openrs2.deob.bytecode.transform |
||||||
|
|
||||||
import com.github.michaelbull.logging.InlineLogger |
import com.github.michaelbull.logging.InlineLogger |
||||||
import org.objectweb.asm.Opcodes |
import org.objectweb.asm.Opcodes |
@ -1,18 +0,0 @@ |
|||||||
package org.openrs2.deob |
|
||||||
|
|
||||||
import com.github.ajalt.clikt.core.CliktCommand |
|
||||||
import com.google.inject.Guice |
|
||||||
import java.nio.file.Paths |
|
||||||
|
|
||||||
public fun main(args: Array<String>): Unit = DeobfuscateCommand().main(args) |
|
||||||
|
|
||||||
public class DeobfuscateCommand : CliktCommand(name = "deob") { |
|
||||||
override fun run() { |
|
||||||
val injector = Guice.createInjector(DeobfuscatorModule) |
|
||||||
val deobfuscator = injector.getInstance(Deobfuscator::class.java) |
|
||||||
deobfuscator.run( |
|
||||||
input = Paths.get("nonfree/share/client"), |
|
||||||
output = Paths.get("nonfree/var/cache/deob") |
|
||||||
) |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue