Skip to content

Field Operations ​

In the process of Hooking, besides method calls, we often need to read or modify class fields. This module provides the following four functions for accessing object or class field information:


1. getField —— Get Instance Field ​

lua
getField(instance, "fieldName")

Function Description: ​

  • Get member fields in an object instance (including public, private, protected, and other modifiers)

Example: ​

lua
local activityTitle = getField(activityInstance, "mTitleTextView")

2. getStaticField —— Get Static Field ​

lua
getStaticField(class, "fieldName")

Function Description: ​

  • Suitable for accessing class-level static fields

Example: ​

lua
local sdkInt = getStaticField(Build, "SDK_INT")

3. setField —— Modify Instance Field ​

lua
setField(instance, "fieldName", newValue)

Function Description: ​

  • Dynamically set the field value of an object
  • Supports modification of private fields

Example: ​

lua
setField(view, "mPaddingTop", 20)

4. setStaticField —— Modify Static Field ​

lua
setStaticField(class, "fieldName", newValue)

Function Description: ​

  • Used to modify the value of static fields

Example: ​

lua
setStaticField(Builds, "SDK_INT", 99)

Made with ❤️