Method Matcher
Properties
Raw DEX access flags; no reflection normalization is applied.
----------------The method declared class fully qualified name.
----------------The method descriptor.
----------------Android Java reflection method modifiers, including hidden Java flag bits. Use java.lang.reflect.Modifier for reflection conditions. For raw DEX flags, use accessFlags with DexAccessFlags. The default match type is contains. If you need to match exactly, please use modifiers overloaded function.
This method uses consecutive OP instructions.
----------------This method uses consecutive smali instructions.
----------------The method parameter count.
----------------The method parameter types fully qualified name. If set to null, it means matching any parameter type. The list implies the number of parameters.
The method prototype shorty. The shorty is a string that represents the return type and parameter types of a method in a compact form. The first character represents the return type, and the rest represent parameter types.
The method return type fully qualified name.
----------------Numbers used by this method. Integer queries compare signed values exactly. Floating queries interpret const instructions at their 32/64-bit width, with an absolute tolerance of less than 1e-6. Arithmetic literals are integer-only. Same-sign infinities and signed zeros compare equal; NaN never matches. This does not infer the original source-language type.
Using string list. Default match type is contains, if you need to match exactly, please use usingStrings or addUsingString overloaded function for each string.
Functions
Match raw DEX flags independently of modifiers. Both constraints may be combined.
----------------Match raw DEX access flags, including DEX-only flags from DexAccessFlags.
----------------Add one child matcher that must also match.
----------------Add method annotation matcher.
----------------Add one child matcher where at least one must match.
----------------Adds a matcher for when this method is called by a specified method.
----------------Add using string(fuzzy match).
----------------Add a matcher that calls the method corresponding to the descriptor.
----------------This method calls the matcher for the specified method.
----------------Add one child matcher that must not match.
----------------Add method parameter type class matcher.
----------------Add method parameter type fully qualified name. If set to null, it means matching any parameter type.
Using fields matcher.
----------------Add a number matcher using the integer/floating semantics described in usingNumbers.
----------------Add using string matcher.
----------------Add using string.
----------------Add child matchers that must all match.
----------------Method annotation count.
----------------Method annotation count range.
----------------The method annotations matcher.
----------------Add child matchers where at least one must match.
----------------The matcher for when this method is called by the specified set of methods.
----------------The method declared class.
----------------The method declared class matcher.
----------------The method declared class fully qualified name.
----------------The method descriptor, specifies a unique method.
----------------This method calls the matcher for the specified methods set.
----------------Java reflection method modifiers matcher.
----------------Android Java reflection method modifiers, including hidden Java flag bits. Use java.lang.reflect.Modifier for reflection conditions. For raw DEX flags, use accessFlags with DexAccessFlags.
The method name matcher
----------------The method name.
----------------Add child matchers that must not match.
----------------Add a negated child matcher.
----------------This method uses opcodes matcher
----------------This method uses consecutive OP instructions.
----------------This method uses consecutive smali instructions.
----------------The method parameter count.
----------------The method parameter count range.
----------------The method parameter types matcher.
----------------empty parameters overload.
----------------The method parameter types class matcher. If set to null, it means matching any parameter type. The list implies the number of parameters.
The method parameter types fully qualified name. If set to null, it means matching any parameter type. The list implies the number of parameters.
The method prototype shorty. The shorty is a string that represents the return type and parameter types of a method in a compact form. The first character represents the return type, and the rest represent parameter types.
The method return type.
----------------The method return type matcher.
----------------The method return type fully qualified name.
----------------Using strings matcher(fuzzy match).
----------------Using fields matcher.
----------------Match numbers using the integer/floating semantics described in usingNumbers.
----------------Using numbers matcher.
----------------Using strings matcher. default match type is contains, if you need to match exactly, please use usingStrings or addUsingString overloaded function for each string.
Using strings matcher.
----------------