结构速查表
这里介绍了 DexKit
查询的结构组成,匹配器对象可以进行递归嵌套,一切条件都是可以选的。
查询相关
FindClass
字段名 | 类型 | 说明 |
---|
searchPackages | Collection<String> | 搜索的包名列表 |
excludePackages | Collection<String> | 排除的包名列表 |
ignorePackagesCase | Boolean | 是否忽略包名大小写 |
searchIn | Collection<ClassData> | 在指定的类列表中搜索类 |
findFirst | Boolean | 查询到第一个结果后立即返回结果,由于多线程执行,不保证结果唯一 |
matcher | ClassMatcher | 匹配条件 |
FindField
字段名 | 类型 | 说明 |
---|
searchPackages | Collection<String> | 搜索的包名列表 |
excludePackages | Collection<String> | 排除的包名列表 |
ignorePackagesCase | Boolean | 是否忽略包名大小写 |
searchInClasses | Collection<ClassData> | 在指定的类列表中搜索字段 |
searchInFields | Collection<FieldData> | 在指定的字段列表中搜索字段 |
findFirst | Boolean | 查询到第一个结果后立即返回结果,由于多线程执行,不保证结果唯一 |
matcher | FieldMatcher | 匹配条件 |
FindMethod
字段名 | 类型 | 说明 |
---|
searchPackages | Collection<String> | 搜索的包名列表 |
excludePackages | Collection<String> | 排除的包名列表 |
ignorePackagesCase | Boolean | 是否忽略包名大小写 |
searchInClasses | Collection<ClassData> | 在指定的类列表中搜索方法 |
searchInMethods | Collection<MethodData> | 在指定的方法列表中搜索方法 |
findFirst | Boolean | 查询到第一个结果后立即返回结果,由于多线程执行,不保证结果唯一 |
matcher | MethodMatcher | 匹配条件 |
BatchFindClassUsingStrings
字段名 | 类型 | 说明 |
---|
searchPackages | Collection<String> | 搜索的包名列表 |
excludePackages | Collection<String> | 排除的包名列表 |
ignorePackagesCase | Boolean | 是否忽略包名大小写 |
searchIn | Collection<ClassData> | 在指定的类列表中搜索类 |
matchers | Collection<StringMatchersGroup> | 查询分组列表 |
BatchFindMethodUsingStrings
字段名 | 类型 | 说明 |
---|
searchPackages | Collection<String> | 搜索的包名列表 |
excludePackages | Collection<String> | 排除的包名列表 |
ignorePackagesCase | Boolean | 是否忽略包名大小写 |
searchInClasses | Collection<ClassData> | 在指定的类列表中搜索方法 |
searchInMethods | Collection<MethodData> | 在指定的方法列表中搜索方法 |
matchers | Collection<StringMatchersGroup> | 查询分组列表 |
匹配器相关
AccessFlagsMatcher
字段名 | 类型 | 说明 |
---|
modifiers | Int | 匹配的修饰符的 bit masks |
matchType | MatchType | 匹配模式 |
AnnotationEncodeValueMatcher
IntRange
字段名 | 类型 | 说明 |
---|
min | Int | 最小值,默认为 0 |
max | Int | 最大值,默认为 Int.MAX_VALUE |
NumberEncodeValueMatcher
字段名 | 类型 | 说明 |
---|
byteValue | Byte | 匹配的字节 |
shortValue | Short | 匹配的短整型 |
charValue | Char | 匹配的字符 |
intValue | Int | 匹配的整型 |
longValue | Long | 匹配的长整型 |
floatValue | Float | 匹配的浮点型 |
doubleValue | Double | 匹配的双精度浮点 |
OpcodesMatcher
字段名 | 类型 | 说明 |
---|
opCodes | Collection<Int> | 匹配的操作码对应的 Int 值 |
opNames | Collection<String> | 匹配的操作码对应的名称,即 smali 语法中的名称 |
matchType | OpCodeMatchType | 匹配模式 |
size | IntRange | 该操作码总长度范围 |
StringMatcher
字段名 | 类型 | 说明 |
---|
value | String | 匹配的字符串 |
matchType | StringMatchType | 匹配模式 |
ignoreCase | Boolean | 是否忽略大小写 |
TargetElementTypesMatcher
AnnotationElementMatcher
AnnotationElementsMatcher
AnnotationEncodeArrayMatcher
AnnotationMatcher
AnnotationsMatcher
ClassMatcher
InterfacesMatcher
FieldMatcher
FieldsMatcher
MethodMatcher
MethodsMatcher
ParameterMatcher
ParametersMatcher
StringMatchersGroup
字段名 | 类型 | 说明 |
---|
groupName | String | 分组名称 |
matchers | Collection<StringMatcher> | 该查询分组匹配对象所使用的字符串列表 |
UsingFieldMatcher
EncodeValueByte
EncodeValueShort
EncodeValueChar
EncodeValueInt
EncodeValueLong
EncodeValueFloat
EncodeValueDouble
EncodeValueString
EncodeValueNull
该对象无字段。
EncodeValueBoolean
枚举相关
AnnotationEncodeValueType
字段名 | 类型 | 说明 |
---|
ByteValue | Enum | 字节类型 |
ShortValue | Enum | 短整型类型 |
CharValue | Enum | 字符类型 |
IntValue | Enum | 整型类型 |
LongValue | Enum | 长整型类型 |
FloatValue | Enum | 浮点类型 |
DoubleValue | Enum | 双精度浮点类型 |
StringValue | Enum | 字符串类型 |
TypeValue | Enum | 类型类型 |
MethodValue | Enum | 方法类型 |
EnumValue | Enum | 枚举类型 |
ArrayValue | Enum | 数组类型 |
AnnotationValue | Enum | 注解类型 |
NullValue | Enum | 空类型 |
BoolValue | Enum | 布尔类型 |
AnnotationVisibilityType
详情参照 Visibility values在新窗口中打开
字段名 | 类型 | 说明 |
---|
Build | Enum | 构建时可见 |
Runtime | Enum | 运行时可见 |
System | Enum | 系统可见 |
MatchType
字段名 | 类型 | 说明 |
---|
Contains | Enum | 包含 |
Equals | Enum | 等于 |
NumberEncodeValueType
字段名 | 类型 | 说明 |
---|
ByteValue | Enum | 字节类型 |
ShortValue | Enum | 短整型类型 |
CharValue | Enum | 字符类型 |
IntValue | Enum | 整型类型 |
LongValue | Enum | 长整型类型 |
FloatValue | Enum | 浮点类型 |
DoubleValue | Enum | 双精度浮点类型 |
OpCodeMatchType
字段名 | 类型 | 说明 |
---|
Contains | Enum | 包含 |
StartsWith | Enum | 以...开头 |
EndsWith | Enum | 以...结尾 |
Equals | Enum | 等于 |
RetentionPolicyType
该 Enum 与 java.lang.annotation.RetentionPolicy
保持对应。
字段名 | 类型 | 说明 |
---|
Source | Enum | 源码级别 |
Class | Enum | 类级别 |
Runtime | Enum | 运行时级别 |
StringMatchType
字段名 | 类型 | 说明 |
---|
Contains | Enum | 包含 |
StartsWith | Enum | 以...开头 |
EndsWith | Enum | 以...结尾 |
SimilarRegex | Enum | 类正则匹配,只支持 ^ 与 $ |
Equals | Enum | 等于 |
TargetElementType
该 Enum 与 java.lang.annotation.ElementType
保持对应。
字段名 | 类型 | 说明 |
---|
Type | Enum | 类型 |
Field | Enum | 字段 |
Method | Enum | 方法 |
Parameter | Enum | 参数 |
Constructor | Enum | 构造方法 |
LocalVariable | Enum | 局部变量 |
AnnotationType | Enum | 注解类型 |
Package | Enum | 包 |
TypeParameter | Enum | 类型参数 |
TypeUse | Enum | 类型使用 |
UsingType
字段名 | 类型 | 说明 |
---|
Any | Enum | 任意 |
Get | Enum | 获取 |
Set | Enum | 设置 |