Skip to content

🛠️ util — 工具类集合

org.jf.dexlib2.util 包含一组贯穿整个 dexlib2 使用的无状态工具类,提供方法描述符格式化、引用字符串化、类型判断、指令偏移映射等常用功能。

📦 关键类清单

职责
ReferenceUtil生成 DEX 方法/字段的描述符字符串(如 Lcom/example/A;->foo()V
InstructionOffsetMap指令索引 ↔ code offset 双向查询
MethodUtil判断方法 access flags(是否 static、constructor 等)
TypeUtils判断类型是否 wide(J/D)、是否基本类型
FieldUtil过滤静态/实例字段
Preconditions寄存器编号范围检查(checkByteRegister、checkNibbleRegister 等)
AnnotatedBytes带注解的字节序列(用于原始 DEX 数据展示)
EncodedValueUtilsEncodedValue 的编解码辅助

🔗 依赖关系

ZjDroid 常用工具

ReferenceUtil.getMethodDescriptor() 是 ZjDroid 输出 smali 方法签名时的核心工具;
InstructionOffsetMapMutableMethodImplementation 克隆构造时用于 code address → index 映射。

基于 MIT 协议发布 · 本文档仅用于安全研究与教学目的