Index
All Classes and Interfaces|All Packages|Serialized Form
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.
- 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
LabelNodes. - 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
- between(AbstractInsnNode, AbstractInsnNode) - Static method in class ftbsc.lll.utils.InsnListUtils
-
Creates a sublist with all the nodes between the given extremes.
- build() - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
- build() - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
-
Builds a
FieldProxyof the given kind. - build() - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
-
Builds a
MethodProxyof 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(InsnList, int, boolean) - Static method in class ftbsc.lll.utils.InsnListUtils
-
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
Stringcontaining 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
Stringcontaining the simple name of the element.
F
- field() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches a field invocation of any kind: one of GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD.
- FIELD - Enum constant in enum class 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
Fieldobtained 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
FieldInsnNodeto add a constructor taking in aFieldProxy. - FieldProxyInsnNode(int, FieldProxy) - Constructor for class ftbsc.lll.utils.nodes.FieldProxyInsnNode
-
Constructs a new
FieldInsnNodestarting 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
- from(Package) - Static method in class ftbsc.lll.proxies.impl.PackageProxy
-
Builds a
PackageProxyfrom a reflectivePackageobject. - from(String) - Static method in class ftbsc.lll.proxies.impl.PackageProxy
-
Builds a
PackageProxyfrom its fully-qualified name. - from(String, int, int) - Static method in class ftbsc.lll.proxies.impl.TypeProxy
-
Builds a
TypeProxygiven only the fully-qualified name and modifiers. - from(Type, int) - Static method in class ftbsc.lll.proxies.impl.TypeProxy
-
Builds a
TypeProxyfrom aTypeand 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.
I
- ignoreFrames() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Tells the pattern matcher to ignore FRAME nodes.
- ignoreLabels() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Tells the pattern matcher to ignore LABEL nodes.
- ignoreLineNumbers() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Tells the pattern matcher to ignore LINENUMBER nodes.
- ignoreNoOps() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Tells the pattern matcher to ignore all no-ops.
- 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.
- InsnListUtils - Class in ftbsc.lll.utils
-
A collection of utilities for manipulating
InsnLists. - InsnListUtils() - Constructor for class ftbsc.lll.utils.InsnListUtils
- insnToString(AbstractInsnNode) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
-
Converts an instruction node to a String.
- 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
InsnListbetween two unconnected nodes. - InstructionMismatchException(AbstractInsnNode, AbstractInsnNode) - Constructor for exception ftbsc.lll.exceptions.InstructionMismatchException
-
Constructs a new instruction mismatch exception with the specified detail message.
- 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) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
-
Logs the bytecode of a method on System.out.
- logMethod(MethodNode, String) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
-
Logs the bytecode of a method to a file.
- logMethod(MethodNode, Consumer<String>) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
-
Logs the bytecode of a method into a given sink.
M
- method() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches a method invocation of any kind: one of INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE.
- METHOD - Enum constant in enum class 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
Methodobtained 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
MethodInsnNodeto add a constructor taking in aMethodProxy. - MethodProxyInsnNode(int, MethodProxy) - Constructor for class ftbsc.lll.utils.nodes.MethodProxyInsnNode
-
Constructs a new
MethodInsnNodestarting 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.
- node(int, Object...) - Method in class ftbsc.lll.utils.PatternMatcher.Builder
-
Matches the given opcode and the exact given arguments.
O
- of(AbstractInsnNode...) - Static method in class ftbsc.lll.utils.InsnListUtils
-
Factory method that builds an
InsnListwith the given nodes. - 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 - Enum constant in enum class 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
TypeProxyeach 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 given message.
- primitive - Variable in class ftbsc.lll.proxies.impl.TypeProxy
-
Whether this proxy represents a primitive.
- proxyType - Variable in class ftbsc.lll.proxies.AbstractProxy
-
Which type of proxy this is.
- ProxyType - Enum Class 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(InsnList, int, AbstractInsnNode, int, boolean) - Static method in class ftbsc.lll.utils.InsnListUtils
-
Replaces n occurrences of said opcode with the given node.
- replaceNode(InsnList, AbstractInsnNode, AbstractInsnNode) - Static method in class ftbsc.lll.utils.InsnListUtils
-
Replaces a node with another one.
- returnType - Variable in class ftbsc.lll.proxies.impl.MethodProxy
-
The
TypeProxyfor 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
PackageProxyrepresenting the root package.
S
- setDescriptor(String) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
-
Sets
Typefor 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
Classobject. - 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 - Enum constant in enum class 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
TypeInsnNodeto add a constructor taking in aTypeProxy. - TypeProxyInsnNode(int, TypeProxy) - Constructor for class ftbsc.lll.utils.nodes.TypeProxyInsnNode
-
Constructs a new
TypeInsnNodestarting from aTypeProxy.
V
- valueOf(String) - Static method in enum class ftbsc.lll.proxies.ProxyType
-
Returns the enum constant of this class with the specified name.
- values() - Static method in enum class ftbsc.lll.proxies.ProxyType
-
Returns an array containing the constants of this enum class, in the order they are declared.
All Classes and Interfaces|All Packages|Serialized Form