Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Singleton
class CanvasTransformer : Transformer
Link copied to clipboard
Link copied to clipboard
@Singleton
class ConstantArgTransformer @Inject constructor(profile: Profile) : Transformer
Link copied to clipboard

A Transformer that performs copy propagation of assignments of one variable to another.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

A Transformer responsible for removing ZKM's exception obfuscation, which inserts exception handlers that catch any type of exception and immediately re-throw them. The exception handlers are inserted in locations where there is no Java source code equivalent, confusing decompilers.

Link copied to clipboard

A Transformer responsible for removing Jagex's exception tracing. Jagex inserts a try/catch block around every method that catches RuntimeExceptions, wraps them with a custom RuntimeException implementation and re-throws them. The wrapped exception's message contains the values of the method's arguments. While this is for debugging and not obfuscation, it is clearly automatically-generated and thus we remove these exception handlers too.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

A Transformer that replaces INVOKESPECIAL instructions in static methods with INVOKEVIRTUAL equivalents.

Link copied to clipboard
Link copied to clipboard

A Transformer that rewrites synchronized blocks produced by older versions of the Java compiler (1.3 and older) into a more modern format. This is required for compatibility with Fernflower, which does not understand the older format.

Link copied to clipboard

A Transformer that splits multiple assignments to static fields in a single expression in <clinit> methods. For example, a = b = new X() is translated to b = new X(); a = b. This allows StaticFieldUnscrambler to move the fields independently.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Singleton
class OriginalPcRestoreTransformer @Inject constructor(nameMap: NameMap) : Transformer
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Singleton
class PatcherTransformer @Inject constructor(transformers: Set<Transformer>) : Transformer
Link copied to clipboard
Link copied to clipboard
@Singleton
class RemapTransformer @Inject constructor(profile: Profile, nameMap: NameMap) : Transformer
Link copied to clipboard
@Singleton
class ResetTransformer : Transformer
Link copied to clipboard
@Singleton
class UnusedArgTransformer @Inject constructor(profile: Profile) : Transformer
Link copied to clipboard
Link copied to clipboard
@Singleton
class UnusedMethodTransformer @Inject constructor(profile: Profile) : Transformer
Link copied to clipboard
@Singleton
class VisibilityTransformer @Inject constructor(profile: Profile) : Transformer