import{_ as s,o as n,c as o,a}from"./app.78a03919.js";const e={},l=a(`
Notice
The English translation of this page has not been completed, you are welcome to contribute translations to us.
You can use the Chrome Translation Plugin to translate entire pages for reference.
object YukiHookAPI
Change Records
v1.0
first
Function Illustrate
\u8FD9\u662F
YukiHookAPI
\u7684 API \u8C03\u7528\u603B\u7C7B\uFF0CHook \u76F8\u5173\u529F\u80FD\u7684\u5F00\u59CB\u3001Hook \u76F8\u5173\u529F\u80FD\u7684\u914D\u7F6E\u90FD\u5728\u8FD9\u91CC\u3002
const val API_VERSION_NAME: String
Change Records
v1.0.4
added
Function Illustrate
\u83B7\u53D6\u5F53\u524D
YukiHookAPI
\u7684\u7248\u672C\u3002
const val API_VERSION_CODE: Int
Change Records
v1.0.4
added
Function Illustrate
\u83B7\u53D6\u5F53\u524D
YukiHookAPI
\u7684\u7248\u672C\u53F7\u3002
Change Records
v1.0.5
added
v1.0.91
removed
\u8BF7\u8F6C\u79FB\u5230 Status.executorName
Change Records
v1.0.5
added
v1.0.91
removed
\u8BF7\u8F6C\u79FB\u5230 Status.executorVersion
object Status
Change Records
v1.0.91
added
Function Illustrate
\u5F53\u524D
YukiHookAPI
\u7684\u72B6\u6001\u3002
val compiledTimestamp: Long
Change Records
v1.1.0
added
Function Illustrate
\u83B7\u53D6\u9879\u76EE\u7F16\u8BD1\u5B8C\u6210\u7684\u65F6\u95F4\u6233 (\u5F53\u524D\u672C\u5730\u65F6\u95F4)\u3002
val isXposedEnvironment: Boolean
Change Records
v1.1.0
added
Function Illustrate
\u83B7\u53D6\u5F53\u524D\u662F\u5426\u4E3A (Xposed) \u5BBF\u4E3B\u73AF\u5883\u3002
val executorName: String
Change Records
v1.0.91
added
Function Illustrate
\u83B7\u53D6\u5F53\u524D Hook \u6846\u67B6\u7684\u540D\u79F0\u3002
\u65E0\u6CD5\u83B7\u53D6\u4F1A\u8FD4\u56DE unknown
\uFF0CXposedBridge
\u4E0D\u5B58\u5728\u4F1A\u8FD4\u56DE invalid
\u3002
Notice
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 Configs.isEnableHookModuleStatus\u3002
val executorVersion: Int
Change Records
v1.0.91
added
Function Illustrate
\u83B7\u53D6\u5F53\u524D Hook \u6846\u67B6\u7684\u7248\u672C\u3002
\u65E0\u6CD5\u83B7\u53D6\u4F1A\u8FD4\u56DE -1
\u3002
Notice
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 Configs.isEnableHookModuleStatus\u3002
val isModuleActive: Boolean
Change Records
v1.0.91
added
Function Illustrate
\u5224\u65AD\u6A21\u5757\u662F\u5426\u5728 Xposed \u6216\u592A\u6781\u3001\u65E0\u6781\u4E2D\u6FC0\u6D3B\u3002
Notice
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u4F60\u9700\u8981\u5C06 Application \u7EE7\u627F\u4E8E ModuleApplication\u3002
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 Configs.isEnableHookModuleStatus\u3002
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u4EC5\u8FD4\u56DE\u975E isTaiChiModuleActive \u7684\u6FC0\u6D3B\u72B6\u6001\u3002
val isXposedModuleActive: Boolean
Change Records
v1.0.91
added
Function Illustrate
\u4EC5\u5224\u65AD\u6A21\u5757\u662F\u5426\u5728 Xposed \u4E2D\u6FC0\u6D3B\u3002
Notice
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 Configs.isEnableHookModuleStatus\u3002
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u59CB\u7EC8\u8FD4\u56DE true\u3002
val isTaiChiModuleActive: Boolean
Change Records
v1.0.91
added
Function Illustrate
\u4EC5\u5224\u65AD\u6A21\u5757\u662F\u5426\u5728\u592A\u6781\u3001\u65E0\u6781\u4E2D\u6FC0\u6D3B\u3002
Notice
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u4F60\u9700\u8981\u5C06 Application \u7EE7\u627F\u4E8E ModuleApplication\u3002
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u59CB\u7EC8\u8FD4\u56DE false\u3002
val isSupportResourcesHook: Boolean
Change Records
v1.0.91
added
Function Illustrate
\u5224\u65AD\u5F53\u524D Hook Framework \u662F\u5426\u652F\u6301\u8D44\u6E90\u94A9\u5B50(Resources Hook)\u3002
Notice
\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u9700\u8981\u542F\u7528 Configs.isEnableHookModuleStatus\u3002
\u5728 (Xposed) \u5BBF\u4E3B\u73AF\u5883\u4E2D\u53EF\u80FD\u4F1A\u5EF6\u8FDF\u7B49\u5F85\u4E8B\u4EF6\u56DE\u8C03\u540E\u624D\u4F1A\u8FD4\u56DE true\u3002
\u8BF7\u6CE8\u610F\u4F60\u9700\u8981\u786E\u4FDD InjectYukiHookWithXposed.isUsingResourcesHook \u5DF2\u542F\u7528\uFF0C\u5426\u5219\u59CB\u7EC8\u8FD4\u56DE false\u3002
object Configs
Change Records
v1.0
first
Function Illustrate
\u5BF9 API \u76F8\u5173\u529F\u80FD\u7684\u914D\u7F6E\u7C7B\u3002
inline fun debugLog(initiate: YukiHookLogger.Configs.() -> Unit)
Change Records
v1.1.0
added
Function Illustrate
\u914D\u7F6E
YukiHookLogger.Configs
\u76F8\u5173\u53C2\u6570\u3002
Change Records
v1.0
first
v1.1.0
deprecated
\u8BF7\u8F6C\u79FB\u5230 YukiHookLogger.Configs.tag
var isDebug: Boolean
Change Records
v1.0
first
Function Illustrate
\u662F\u5426\u542F\u7528 DEBUG \u6A21\u5F0F\u3002
\u9ED8\u8BA4\u4E3A\u5F00\u542F\u72B6\u6001\uFF0C\u5F00\u542F\u540E\u6A21\u5757\u5C06\u4F1A\u5411 Logcat
\u548C XposedBridge.log
\u6253\u5370\u8BE6\u7EC6\u7684 Hook \u65E5\u5FD7\uFF0C\u5173\u95ED\u540E\u4EC5\u4F1A\u6253\u5370 E
\u7EA7\u522B\u7684\u65E5\u5FD7\u3002
Change Records
v1.0.4
added
v1.1.0
deprecated
\u8BF7\u8F6C\u79FB\u5230 YukiHookLogger.Configs.isEnable
var isEnableModulePrefsCache: Boolean
Change Records
v1.0.5
added
Function Illustrate
\u662F\u5426\u542F\u7528
YukiHookModulePrefs
\u7684\u952E\u503C\u7F13\u5B58\u529F\u80FD\u3002
\u4E3A\u9632\u6B62\u5185\u5B58\u590D\u7528\u8FC7\u9AD8\u95EE\u9898\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\u3002
\u4F60\u53EF\u4EE5\u624B\u52A8\u5728 YukiHookModulePrefs
\u4E2D\u81EA\u7531\u5F00\u542F\u548C\u5173\u95ED\u7F13\u5B58\u529F\u80FD\u4EE5\u53CA\u6E05\u9664\u7F13\u5B58\u3002
var isEnableModuleAppResourcesCache: Boolean
Change Records
v1.0.87
added
Function Illustrate
\u662F\u5426\u542F\u7528\u5F53\u524D Xposed \u6A21\u5757\u81EA\u8EAB
Resources
\u7F13\u5B58\u529F\u80FD\u3002
\u4E3A\u9632\u6B62\u5185\u5B58\u590D\u7528\u8FC7\u9AD8\u95EE\u9898\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\u3002
\u4F60\u53EF\u4EE5\u624B\u52A8\u8C03\u7528 PackageParam.refreshModuleAppResources
\u6765\u5237\u65B0\u7F13\u5B58\u3002
Notice
\u5173\u95ED\u540E\u6BCF\u6B21\u4F7F\u7528 PackageParam.moduleAppResources \u90FD\u4F1A\u91CD\u65B0\u521B\u5EFA\uFF0C\u53EF\u80FD\u4F1A\u9020\u6210\u8FD0\u884C\u7F13\u6162\u3002
var isEnableHookModuleStatus: Boolean
Change Records
v1.0.88
added
Function Illustrate
\u662F\u5426\u542F\u7528 Hook Xposed \u6A21\u5757\u6FC0\u6D3B\u7B49\u72B6\u6001\u529F\u80FD.
\u4E3A\u539F\u751F\u652F\u6301 Xposed \u6A21\u5757\u6FC0\u6D3B\u72B6\u6001\u68C0\u6D4B\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\u3002
Notice
\u5173\u95ED\u540E\u4F60\u5C06\u4E0D\u80FD\u518D\u5728\u6A21\u5757\u73AF\u5883\u4E2D\u4F7F\u7528 YukiHookAPI.Status \u4E2D\u7684\u6FC0\u6D3B\u72B6\u6001\u5224\u65AD\u529F\u80FD\u3002
var isEnableHookSharedPreferences: Boolean
Change Records
v1.1.0
added
Function Illustrate
\u662F\u5426\u542F\u7528 Hook
SharedPreferences
\u3002
\u542F\u7528\u540E\u5C06\u5728\u6A21\u5757\u542F\u52A8\u65F6\u5F3A\u5236\u5C06 SharedPreferences
\u6587\u4EF6\u6743\u9650\u8C03\u6574\u4E3A Context.MODE_WORLD_READABLE
(0664)\u3002
Notice
\u8FD9\u662F\u4E00\u4E2A\u53EF\u9009\u7684\u5B9E\u9A8C\u6027\u529F\u80FD\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u4E0D\u542F\u7528\u3002
\u4EC5\u7528\u4E8E\u4FEE\u590D\u67D0\u4E9B\u7CFB\u7EDF\u53EF\u80FD\u4F1A\u51FA\u73B0\u5728\u542F\u7528\u4E86 New XSharedPreferences \u540E\u4F9D\u7136\u51FA\u73B0\u6587\u4EF6\u6743\u9650\u9519\u8BEF\u95EE\u9898\uFF0C\u82E5\u4F60\u80FD\u6B63\u5E38\u4F7F\u7528 YukiHookModulePrefs \u5C31\u4E0D\u5EFA\u8BAE\u542F\u7528\u6B64\u529F\u80FD\u3002
var isEnableDataChannel: Boolean
Change Records
v1.0.88
added
Function Illustrate
\u662F\u5426\u542F\u7528\u5F53\u524D Xposed \u6A21\u5757\u4E0E\u5BBF\u4E3B\u4EA4\u4E92\u7684
YukiHookDataChannel
\u529F\u80FD\u3002
\u8BF7\u786E\u4FDD Xposed \u6A21\u5757\u7684 Application
\u7EE7\u627F\u4E8E ModuleApplication
\u624D\u80FD\u6709\u6548\u3002
\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\uFF0C\u5173\u95ED\u540E\u5C06\u4E0D\u4F1A\u5728\u529F\u80FD\u521D\u59CB\u5316\u7684\u65F6\u5019\u88C5\u8F7D YukiHookDataChannel
\u3002
var isEnableMemberCache: Boolean
Change Records
v1.0.68
added
v1.0.80
modified
\u5C06\u65B9\u6CD5\u4F53\u8FDB\u884C inline
Function Illustrate
\u662F\u5426\u542F\u7528
Member
\u7F13\u5B58\u529F\u80FD\u3002
\u4E3A\u9632\u6B62 Member
\u590D\u7528\u8FC7\u9AD8\u9020\u6210\u7684\u7CFB\u7EDF GC \u95EE\u9898\uFF0C\u6B64\u529F\u80FD\u9ED8\u8BA4\u542F\u7528\u3002
\u542F\u7528\u540E\u4F1A\u7F13\u5B58\u5DF2\u7ECF\u627E\u5230\u7684 Method
\u3001Constructor
\u3001Field
\u3002
\u7F13\u5B58\u7684 Member
\u90FD\u5C06\u5904\u4E8E MemberCacheStore
\u7684\u5168\u5C40\u9759\u6001\u5B9E\u4F8B\u4E2D\u3002
\u63A8\u8350\u4F7F\u7528 MethodFinder
\u3001ConstructorFinder
\u3001FieldFinder
\u6765\u83B7\u53D6 Member
\u3002
\u9664\u975E\u7F13\u5B58\u7684 Member
\u53D1\u751F\u4E86\u6DF7\u6DC6\u7684\u95EE\u9898\uFF0C\u4F8B\u5982\u4F7F\u7528 R8 \u6DF7\u6DC6\u540E\u7684 APP \u7684\u76EE\u6807 Member
\uFF0C\u5426\u5219\u5EFA\u8BAE\u542F\u7528\u3002
inline fun configs(initiate: Configs.() -> Unit)
Change Records
v1.0
first
Function Illustrate
\u5BF9
Configs
\u7C7B\u5B9E\u73B0\u4E86\u4E00\u4E2Alambda
\u65B9\u6CD5\u4F53\u3002
\u4F60\u53EF\u4EE5\u8F7B\u677E\u7684\u8C03\u7528\u5B83\u8FDB\u884C\u914D\u7F6E\u3002
Function Example
\u4F60\u53EF\u4EE5\u5728 HookEntryClass
\u7684 onInit
\u65B9\u6CD5\u4E2D\u8C03\u7528 configs
\u65B9\u6CD5\u548C debugLog
\u65B9\u6CD5\u5B8C\u6210\u5BF9 API \u7684\u529F\u80FD\u914D\u7F6E\uFF0C\u5B9E\u65F6\u751F\u6548\u3002
The following example
class HookEntryClass : IYukiHookXposedInit {
override fun onInit() {
YukiHookAPI.configs {
debugLog {
tag = "YukiHookAPI"
isEnable = true
isRecord = false
elements(TAG, PRIORITY, PACKAGE_NAME, USER_ID)
}
isDebug = BuildConfig.DEBUG
isEnableModulePrefsCache = true
isEnableModuleAppResourcesCache = true
isEnableHookModuleStatus = true
isEnableHookSharedPreferences = false
isEnableDataChannel = true
isEnableMemberCache = true
}
}
override fun onHook() {
// Your code here.
}
}
\u82E5\u89C9\u5F97\u4E0A\u9762\u7684\u5199\u6CD5\u4E0D\u7F8E\u89C2\uFF0C\u4F60\u8FD8\u53EF\u4EE5\u5199\u5F97\u66F4\u52A0\u7B80\u6D01\u3002
The following example
class HookEntryClass : IYukiHookXposedInit {
override fun onInit() = configs {
debugLog {
tag = "YukiHookAPI"
isEnable = true
isRecord = false
elements(TAG, PRIORITY, PACKAGE_NAME, USER_ID)
}
isDebug = BuildConfig.DEBUG
isEnableModulePrefsCache = true
isEnableModuleAppResourcesCache = true
isEnableHookModuleStatus = true
isEnableHookSharedPreferences = false
isEnableDataChannel = true
isEnableMemberCache = true
}
override fun onHook() {
// Your code here.
}
}
\u4F60\u4E5F\u53EF\u4EE5\u4E0D\u901A\u8FC7 configs
\u548C debugLog
\u65B9\u6CD5\uFF0C\u76F4\u63A5\u8FDB\u884C\u914D\u7F6E\u3002
The following example
class HookEntryClass : IYukiHookXposedInit {
override fun onInit() {
YukiHookLogger.Configs.tag = "YukiHookAPI"
YukiHookLogger.Configs.isEnable = true
YukiHookLogger.Configs.isRecord = false
YukiHookLogger.Configs.elements(
YukiHookLogger.Configs.TAG,
YukiHookLogger.Configs.PRIORITY,
YukiHookLogger.Configs.PACKAGE_NAME,
YukiHookLogger.Configs.USER_ID
)
YukiHookAPI.Configs.isDebug = BuildConfig.DEBUG
YukiHookAPI.Configs.isEnableModulePrefsCache = true
YukiHookAPI.Configs.isEnableModuleAppResourcesCache = true
YukiHookAPI.Configs.isEnableHookModuleStatus = true
YukiHookAPI.Configs.isEnableHookSharedPreferences = false
YukiHookAPI.Configs.isEnableDataChannel = true
YukiHookAPI.Configs.isEnableMemberCache = true
}
override fun onHook() {
// Your code here.
}
}
fun encase(initiate: PackageParam.() -> Unit)
fun encase(vararg hooker: YukiBaseHooker)
fun encase(baseContext: Context?, initiate: PackageParam.() -> Unit)
fun encase(baseContext: Context?, vararg hooker: YukiBaseHooker)
Change Records
v1.0
first
Function Illustrate
\u88C5\u8F7D Hook \u5165\u53E3\u7684\u6838\u5FC3\u65B9\u6CD5\u3002
Function Example
\u8BE6\u60C5\u8BF7\u53C2\u8003
`,203),p=[l];function c(r,t){return n(),o("div",null,p)}const d=s(e,[["render",c],["__file","YukiHookAPI.html.vue"]]);export{d as default};