A B C D E F G I J L M N O P Q R S T V
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- AbstractProxy - Class in ftbsc.lll.proxies
-
Abstract proxy class, implementing common aspects.
- AbstractProxy(String, String, int, QualifiableProxy, ProxyType) - Constructor for class ftbsc.lll.proxies.AbstractProxy
-
The private constructor, should be called by all classes extending this in theirs.
- AbstractProxy.Builder<T extends AbstractProxy> - Class in ftbsc.lll.proxies
-
A Builder for the generic proxy.
- add(AbstractInsnNode) - Method in class ftbsc.lll.utils.InsnSequence
-
Wraps InsnList's add() to throw an exception when given null values.
- add(AbstractInsnNode...) - Method in class ftbsc.lll.utils.InsnSequence
-
Adds an array of nodes to the list.
- addLocalVariable(MethodNode, String, String) - Static method in class ftbsc.lll.utils.StackUtils
-
Creates a new local variable, lasting in scope from the first to the last label of the given method.
- addLocalVariable(MethodNode, String, String, LabelNode, LabelNode) - Static method in class ftbsc.lll.utils.StackUtils
-
Creates a new local variable, lasting in scope between two given
LabelNode
s. - addModifier(int) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
- addParameter(Class<?>) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Adds a parameter of a given type.
- addParameter(Class<?>) - Method in class ftbsc.lll.utils.DescriptorBuilder
-
Adds a parameter of the given class type to the method.
- addParameter(String) - Method in class ftbsc.lll.utils.DescriptorBuilder
-
Adds a parameter with the type specified by the given fully qualified name to the method.
- addParameter(String, int) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Adds a parameter of a given type.
- addParameter(String, int) - Method in class ftbsc.lll.utils.DescriptorBuilder
-
Adds a parameter with the type specified by the given fully qualified name (example: java.lang.String) to the method, with the specified array level.
- any() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Wildcard, matches any kind of node.
B
- build() - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
- build() - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
-
Builds a
FieldProxy
of the given kind. - build() - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Builds a
MethodProxy
of the given kind. - build() - Method in class ftbsc.lll.utils.DescriptorBuilder
-
Builds the descriptor into a string.
- build() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Builds the pattern defined so far.
- builder() - Static method in class ftbsc.lll.utils.PatternMatcher
- builder(String) - Static method in class ftbsc.lll.proxies.impl.FieldProxy
-
Returns a new instance of
FieldProxy.Builder
. - builder(String) - Static method in class ftbsc.lll.proxies.impl.MethodProxy
-
Returns a new instance of
MethodProxy.Builder
. - Builder() - Constructor for class ftbsc.lll.utils.PatternMatcher.Builder
- Builder(String) - Constructor for class ftbsc.lll.proxies.AbstractProxy.Builder
-
The constructor.
- BytecodePrinter - Class in ftbsc.lll.utils.debug
-
A collection of static methods for debugging by printing the ASM bytecode.
- BytecodePrinter() - Constructor for class ftbsc.lll.utils.debug.BytecodePrinter
C
- check(Predicate<AbstractInsnNode>) - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Adds a custom predicate to the list.
- cut(int, boolean) - Method in class ftbsc.lll.utils.InsnSequence
-
Cut a number of nodes from the list.
D
- descriptor - Variable in class ftbsc.lll.proxies.AbstractProxy.Builder
-
The descriptor of the element.
- descriptor - Variable in class ftbsc.lll.proxies.AbstractProxy
-
The descriptor for this element.
- DescriptorBuilder - Class in ftbsc.lll.utils
-
Builds a method descriptor for you.
- DescriptorBuilder() - Constructor for class ftbsc.lll.utils.DescriptorBuilder
-
Public constructor.
E
- equals(Object) - Method in class ftbsc.lll.proxies.AbstractProxy
-
Indicates whether the given object is a proxy for the same element as this.
- equals(Object) - Method in class ftbsc.lll.proxies.impl.FieldProxy
-
Indicates whether the given object is a proxy for the same element as this.
- equals(Object) - Method in class ftbsc.lll.proxies.impl.MethodProxy
-
Indicates whether the given object is a proxy for the same element as this.
- equals(Object) - Method in class ftbsc.lll.proxies.impl.PackageProxy
-
Indicates whether the given object is a proxy for the same element as this.
- equals(Object) - Method in class ftbsc.lll.proxies.impl.TypeProxy
-
Indicates whether the given object is a proxy for the same element as this.
- equals(Object) - Method in class ftbsc.lll.proxies.QualifiableProxy
-
Indicates whether the given object is a proxy for the same element as this.
- extractParentFromFQN(String) - Static method in class ftbsc.lll.proxies.QualifiableProxy
-
Returns a
String
containing the FQN of the parent element to this, which may represent a package or class. - extractSimpleNameFromFQN(String) - Static method in class ftbsc.lll.proxies.QualifiableProxy
-
Returns a
String
containing the simple name of the element.
F
- field() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches a field invokation of any kind: one of GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD.
- FIELD - ftbsc.lll.proxies.ProxyType
-
Indicates it's a
FieldProxy
. - FieldProxy - Class in ftbsc.lll.proxies.impl
-
A container for information about class fields to be used in ASM patching.
- FieldProxy(Field) - Constructor for class ftbsc.lll.proxies.impl.FieldProxy
-
A public constructor, builds a proxy from a
Field
obtained from reflection. - FieldProxy(String, String, int, QualifiableProxy) - Constructor for class ftbsc.lll.proxies.impl.FieldProxy
-
Protected constructor, called only from the builder.
- FieldProxy.Builder - Class in ftbsc.lll.proxies.impl
-
A builder object for
FieldProxy
. - FieldProxyInsnNode - Class in ftbsc.lll.utils.nodes
-
Overrides the
FieldInsnNode
to add a constructor taking in aFieldProxy
. - FieldProxyInsnNode(int, FieldProxy) - Constructor for class ftbsc.lll.utils.nodes.FieldProxyInsnNode
-
Constructs a new
FieldInsnNode
starting from aFieldProxy
. - find(AbstractInsnNode) - Method in class ftbsc.lll.utils.PatternMatcher
-
Tries to match the given pattern starting from a given node.
- find(MethodNode) - Method in class ftbsc.lll.utils.PatternMatcher
-
Tries to match the given pattern on a given
MethodNode
. - findFirstFreeIndex(MethodNode) - Static method in class ftbsc.lll.utils.StackUtils
-
Finds the first free index in the given
MethodNode
. - from(Class<?>) - Static method in class ftbsc.lll.proxies.impl.TypeProxy
-
Builds a
TypeProxy
from aClass
object. - from(Package) - Static method in class ftbsc.lll.proxies.impl.PackageProxy
-
Builds a
PackageProxy
from a reflectivePackage
object. - from(String) - Static method in class ftbsc.lll.proxies.impl.PackageProxy
-
Builds a
PackageProxy
from its fully-qualified name. - from(String, int, int) - Static method in class ftbsc.lll.proxies.impl.TypeProxy
-
Builds a
TypeProxy
given only the fully-qualified name and modifiers. - from(Type, int) - Static method in class ftbsc.lll.proxies.impl.TypeProxy
-
Builds a
TypeProxy
from aType
and modifiers. - ftbsc.lll - package ftbsc.lll
- ftbsc.lll.exceptions - package ftbsc.lll.exceptions
- ftbsc.lll.proxies - package ftbsc.lll.proxies
- ftbsc.lll.proxies.impl - package ftbsc.lll.proxies.impl
- ftbsc.lll.utils - package ftbsc.lll.utils
- ftbsc.lll.utils.debug - package ftbsc.lll.utils.debug
- ftbsc.lll.utils.nodes - package ftbsc.lll.utils.nodes
- fullyQualifiedName - Variable in class ftbsc.lll.proxies.QualifiableProxy
-
The fully-qualified name of the element represented by this proxy.
G
- get(int) - Method in class ftbsc.lll.utils.InsnSequence
-
Extends the existing get function from InsnList to allow for negative indexes.
I
- ignoreFrames() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Tells the pattern matcher to ignore FRAME instructions.
- ignoreLabels() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Tells the pattern matcher to ignore LABEL instructions.
- ignoreLineNumbers() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Tells the pattern matcher to ignore LINENUMBER instructions.
- IInjector - Interface in ftbsc.lll
-
Patch classes should implement this interface and be declared as services in the META-INF/services folder (or through modules in Java 9+, but only Java 8 is officially supported).
- inject(ClassNode, MethodNode) - Method in interface ftbsc.lll.IInjector
-
This method is to be called by the launcher after identifying the right class and method to patch.
- InjectionException - Exception in ftbsc.lll.exceptions
-
Thrown when the injection of a patch fails.
- InjectionException(String) - Constructor for exception ftbsc.lll.exceptions.InjectionException
-
Constructs a new injection exception with the specified detail message.
- InjectionException(String, Throwable) - Constructor for exception ftbsc.lll.exceptions.InjectionException
-
Constructs a new injection exception with the specified detail message and cause.
- InjectionException(Throwable) - Constructor for exception ftbsc.lll.exceptions.InjectionException
-
Constructs a new injection exception with the specified cause and a detail message of
(cause==null ? null : cause.toString())
- InsnSequence - Class in ftbsc.lll.utils
-
Represents a sequence of instructions contained within two given nodes.
- InsnSequence() - Constructor for class ftbsc.lll.utils.InsnSequence
-
Public constructor.
- InsnSequence(AbstractInsnNode) - Constructor for class ftbsc.lll.utils.InsnSequence
-
Public constructor for list with single item.
- InsnSequence(AbstractInsnNode, AbstractInsnNode) - Constructor for class ftbsc.lll.utils.InsnSequence
-
Public constructor.
- insnToString(AbstractInsnNode) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
-
Converts an instruction node to a String.
- instantiate(String, String, AbstractInsnNode...) - Static method in class ftbsc.lll.utils.StackUtils
-
Creates a new instance of an object, given its internal name, constructor descriptor and instructions to load the parameters.
- instantiate(String, String, InsnList) - Static method in class ftbsc.lll.utils.StackUtils
-
Creates a new instance of an object, given its internal name, constructor descriptor and instructions to load the parameters.
- InstructionMismatchException - Exception in ftbsc.lll.exceptions
-
Thrown when attempting to build an
InsnSequence
between two unconnected nodes. - InstructionMismatchException(String) - Constructor for exception ftbsc.lll.exceptions.InstructionMismatchException
-
Constructs a new instruction mismatch exception with the specified detail message.
- InstructionMismatchException(String, Throwable) - Constructor for exception ftbsc.lll.exceptions.InstructionMismatchException
-
Constructs a new instruction mismatch exception with the specified detail message and cause.
- InstructionMismatchException(Throwable) - Constructor for exception ftbsc.lll.exceptions.InstructionMismatchException
-
Constructs a new instruction mismatch exception with the specified cause and a detail message of
(cause==null ? null : cause.toString())
- internalName - Variable in class ftbsc.lll.proxies.QualifiableProxy
-
The "internal name" (fully-qualified with slashes) of the element represented by this proxy.
J
- jump() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches any kind of jump instruction.
L
- label() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches any kind of label.
- logMethod(MethodNode, String) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
-
Logs the bytecode of a method to a file.
- logMethod(MethodNode, Logger) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
-
Logs the bytecode of a method using the ASM logger.
M
- method() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches a method invokation of any kind: one of INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE.
- METHOD - ftbsc.lll.proxies.ProxyType
-
Indicates it's a
MethodProxy
. - methodDesc() - Method in interface ftbsc.lll.IInjector
-
This should return the target method's descriptor.
- methodName() - Method in interface ftbsc.lll.IInjector
-
This is used to identify the method to transform within the class.
- MethodProxy - Class in ftbsc.lll.proxies.impl
-
A container for information about class methods to be used in ASM patching.
- MethodProxy(Method) - Constructor for class ftbsc.lll.proxies.impl.MethodProxy
-
A public constructor, builds a proxy from a
Method
obtained from reflection. - MethodProxy(String, int, QualifiableProxy, Type[], Type) - Constructor for class ftbsc.lll.proxies.impl.MethodProxy
-
A protected constructor, called only from the builder.
- MethodProxy.Builder - Class in ftbsc.lll.proxies.impl
-
A builder object for
MethodProxy
. - MethodProxyInsnNode - Class in ftbsc.lll.utils.nodes
-
Overrides the
MethodInsnNode
to add a constructor taking in aMethodProxy
. - MethodProxyInsnNode(int, MethodProxy) - Constructor for class ftbsc.lll.utils.nodes.MethodProxyInsnNode
-
Constructs a new
MethodInsnNode
starting from aMethodProxy
. - modifiers - Variable in class ftbsc.lll.proxies.AbstractProxy.Builder
-
The modifiers of the element, as a packed int.
- modifiers - Variable in class ftbsc.lll.proxies.AbstractProxy
-
The modifiers of the member, as a packed int
N
- name - Variable in class ftbsc.lll.proxies.AbstractProxy.Builder
-
The name of the element.
- name - Variable in class ftbsc.lll.proxies.AbstractProxy
-
The name of the corresponding element.
- name() - Method in interface ftbsc.lll.IInjector
- nameToDescriptor(String, int) - Static method in class ftbsc.lll.utils.DescriptorBuilder
-
Converts a fully qualified name and array level to a descriptor.
O
- opcode(int) - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches a specific opcode.
- opcodes(int...) - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches a list of opcodes.
P
- PACKAGE - ftbsc.lll.proxies.ProxyType
-
Indicates it's a
PackageProxy
. - PackageProxy - Class in ftbsc.lll.proxies.impl
-
A container for information about a package.
- PackageProxy(PackageProxy, String) - Constructor for class ftbsc.lll.proxies.impl.PackageProxy
-
The protected constructor, called only from
PackageProxy.from(String)
. - parameters - Variable in class ftbsc.lll.proxies.impl.MethodProxy
-
An array of
TypeProxy
each representing the parameters of the method. - parent - Variable in class ftbsc.lll.proxies.AbstractProxy.Builder
-
The fully qualified name of the parent.
- parent - Variable in class ftbsc.lll.proxies.AbstractProxy
-
The fully qualified name (i.e.
- PatternMatcher - Class in ftbsc.lll.utils
-
Describes a pattern to match on a list of ASM instructions.
- PatternMatcher.Builder - Class in ftbsc.lll.utils
-
The Builder object for
PatternMatcher
. - PatternNotFoundException - Exception in ftbsc.lll.exceptions
-
Thrown when failing to find a pattern.
- PatternNotFoundException(String) - Constructor for exception ftbsc.lll.exceptions.PatternNotFoundException
-
Constructs a new pattern not found exception with the specified detail message.
- PatternNotFoundException(String, Throwable) - Constructor for exception ftbsc.lll.exceptions.PatternNotFoundException
-
Constructs a new pattern not found exception with the specified detail message and cause.
- PatternNotFoundException(Throwable) - Constructor for exception ftbsc.lll.exceptions.PatternNotFoundException
-
Constructs a new pattern not found exception with the specified cause and a detail message of
(cause==null ? null : cause.toString())
- primitive - Variable in class ftbsc.lll.proxies.impl.TypeProxy
-
Whether this proxy represents a primitive.
- printMethod(MethodNode) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
-
Prints the bytecode of a method using System.out.print().
- proxyType - Variable in class ftbsc.lll.proxies.AbstractProxy
-
Which type of proxy this is.
- ProxyType - Enum in ftbsc.lll.proxies
-
An enum listing the various proxies.
Q
- QualifiableProxy - Class in ftbsc.lll.proxies
-
A proxy for elements who have a fully-qualified name.
- QualifiableProxy(String, int, QualifiableProxy, String, ProxyType) - Constructor for class ftbsc.lll.proxies.QualifiableProxy
-
The protected constructor, should be called by all classes extending this in theirs.
R
- reason() - Method in interface ftbsc.lll.IInjector
- replace(int, AbstractInsnNode, int) - Method in class ftbsc.lll.utils.InsnSequence
-
Replaces n occurrences of said opcode with the given node.
- replace(int, AbstractInsnNode, int, boolean) - Method in class ftbsc.lll.utils.InsnSequence
-
Replaces n occurrences of said opcode with the given node.
- replaceNode(AbstractInsnNode, AbstractInsnNode) - Method in class ftbsc.lll.utils.InsnSequence
-
Replaces a node with another one.
- returnType - Variable in class ftbsc.lll.proxies.impl.MethodProxy
-
The
TypeProxy
for the return type of the method. - reverse() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Sets the pattern to match starting from the end.
- ROOT - Static variable in class ftbsc.lll.proxies.impl.PackageProxy
-
The
PackageProxy
representing the root package.
S
- setDescriptor(String) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
-
Sets
Type
for this element from the descriptor, passed as aString
. - setDescriptor(String) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Sets the type of the method to the given descriptor, and extracts return and parameter types from it.
- setModifiers(int) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
- setParent(QualifiableProxy) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
- setParent(String) - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
-
Sets the parent class of this field to the one described by the fully qualified name.
- setParent(String) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Sets the parent class of this method to the one described by the fully qualified name.
- setParent(String, int) - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
-
Sets the parent class of this field to the one described by the fully qualified name and with the given modifiers.
- setParent(String, int) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Sets the parent class of this method to the one described by the fully qualified name and with the given modifiers.
- setReturnType(Class<?>) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Sets the return type to the given type.
- setReturnType(Class<?>) - Method in class ftbsc.lll.utils.DescriptorBuilder
-
Sets the return type to the given type.
- setReturnType(String) - Method in class ftbsc.lll.utils.DescriptorBuilder
-
Sets the return type to the Object specified here as a fully qualified name.
- setReturnType(String, int) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Sets the return type to the given type.
- setReturnType(String, int) - Method in class ftbsc.lll.utils.DescriptorBuilder
-
Sets the return type to the Object specified here as a fully qualified name (example: java.lang.String), with the specified array level.
- setType(Class<?>) - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
-
Sets the type of the field to the given
Class
object. - setType(String, int) - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
-
Sets the type of the field to the given type.
- setType(Type) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
- StackUtils - Class in ftbsc.lll.utils
-
Various methods for manipulating the stack.
- StackUtils() - Constructor for class ftbsc.lll.utils.StackUtils
T
- targetClass() - Method in interface ftbsc.lll.IInjector
-
This is used to identify which classes should be altered, and on which class should this injector operate.
- TYPE - ftbsc.lll.proxies.ProxyType
-
Indicates it's a
TypeProxy
. - TypeProxy - Class in ftbsc.lll.proxies.impl
-
A container for information about classes to be used in ASM patching.
- TypeProxy(String, String, int, TypeProxy, boolean) - Constructor for class ftbsc.lll.proxies.impl.TypeProxy
-
Protected constructor, called only from the builders.
- TypeProxy(String, String, int, String, boolean) - Constructor for class ftbsc.lll.proxies.impl.TypeProxy
-
Protected constructor, called only from the builders.
- TypeProxyInsnNode - Class in ftbsc.lll.utils.nodes
-
Overrides the
TypeInsnNode
to add a constructor taking in aTypeProxy
. - TypeProxyInsnNode(int, TypeProxy) - Constructor for class ftbsc.lll.utils.nodes.TypeProxyInsnNode
-
Constructs a new
TypeInsnNode
starting from aTypeProxy
.
V
- valueOf(String) - Static method in enum ftbsc.lll.proxies.ProxyType
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum ftbsc.lll.proxies.ProxyType
-
Returns an array containing the constants of this enum type, in the order they are declared.
All Classes All Packages