import{_ as s,r as t,o as n,c as a,b as e,d,e as o,a as c}from"./app.65ee8e4f.js";const r={},_=e("h1",{id:"\u66F4\u65B0\u65E5\u5FD7",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u66F4\u65B0\u65E5\u5FD7","aria-hidden":"true"},"#"),o(" \u66F4\u65B0\u65E5\u5FD7")],-1),h=e("blockquote",null,[e("p",null,[o("\u8FD9\u91CC\u8BB0\u5F55\u4E86 "),e("code",null,"YukiHookAPI"),o(" \u7684\u7248\u672C\u66F4\u65B0\u5386\u53F2\u3002")])],-1),u=e("div",{class:"custom-container danger"},[e("p",{class:"custom-container-title"},"\u7279\u522B\u6CE8\u610F"),e("p",null,"\u6211\u4EEC\u53EA\u4F1A\u5BF9\u6700\u65B0\u7684 API \u7248\u672C\u8FDB\u884C\u7EF4\u62A4\uFF0C\u82E5\u4F60\u6B63\u5728\u4F7F\u7528\u8FC7\u65F6\u7684 API \u7248\u672C\u5219\u4EE3\u8868\u4F60\u81EA\u613F\u653E\u5F03\u4E00\u5207\u7EF4\u62A4\u7684\u53EF\u80FD\u6027\u3002")],-1),k={id:"_1-1-11-2023-04-25",tabindex:"-1"},p=e("a",{class:"header-anchor",href:"#_1-1-11-2023-04-25","aria-hidden":"true"},"#",-1),g=o(" 1.1.11 | 2023.04.25 \u2002"),f=o("\u4FEE\u590D\u4ECE "),H=e("code",null,"1.1.5",-1),m=o(" \u7248\u672C\u5F00\u59CB\u7684\u4E00\u4E2A\u4E25\u91CD\u95EE\u9898\uFF0C"),P=e("code",null,"Member",-1),b=o(" \u7F13\u5B58\u672A\u751F\u6548\u4E14\u6301\u7EED\u5B58\u50A8\u6700\u7EC8\u5F15\u53D1 APP \u5185\u5B58\u6EA2\u51FA (OOM)\uFF0C\u611F\u8C22 "),y={href:"https://github.com/Art-Chen",target:"_blank",rel:"noopener noreferrer"},C=o("Art-Chen"),x=c("
  • \u79FB\u9664 Member \u7684\u76F4\u63A5\u7F13\u5B58\u529F\u80FD\u5E76\u4F5C\u5E9F YukiHookAPI.Configs.isEnableMemberCache\uFF0C\u4FDD\u7559 Class \u7684\u7F13\u5B58\u529F\u80FD
  • \u5BF9\u63A5\u67E5\u627E\u529F\u80FD\u5230 Sequence\uFF0C\u4F18\u5316 Member \u7684\u67E5\u627E\u901F\u5EA6\u4E0E\u6027\u80FD
  • \u79FB\u9664 YukiHookPrefsBridge \u7684\u76F4\u63A5\u952E\u503C\u7F13\u5B58\u529F\u80FD\u5E76\u79FB\u9664 LruCache \u76F8\u5173\u529F\u80FD
  • \u4F5C\u5E9F\u4E86 YukiHookAPI.Configs.isEnablePrefsBridgeCache
  • \u4F5C\u5E9F\u4E86 YukiHookPrefsBridge \u4E2D\u7684 direct\u3001clearCache \u65B9\u6CD5
  • ",5),A={id:"_1-1-10-2023-04-21",tabindex:"-1"},v=e("a",{class:"header-anchor",href:"#_1-1-10-2023-04-21","aria-hidden":"true"},"#",-1),Y=o(" 1.1.10 | 2023.04.21 \u2002"),M=c("",1),I={id:"_1-1-9-2023-04-17",tabindex:"-1"},R=e("a",{class:"header-anchor",href:"#_1-1-9-2023-04-17","aria-hidden":"true"},"#",-1),L=o(" 1.1.9 | 2023.04.17 \u2002"),S=c("",1),X={id:"_1-1-8-2023-02-01",tabindex:"-1"},B=e("a",{class:"header-anchor",href:"#_1-1-8-2023-02-01","aria-hidden":"true"},"#",-1),F=o(" 1.1.8 | 2023.02.01 \u2002"),D=o("\u4FEE\u590D\u5E95\u5C42 Hook \u65B9\u6CD5\u5728\u56DE\u8C03\u65F6\u4FEE\u6539 "),w=e("code",null,"result",-1),E=o(" \u7B49\u53C2\u6570\u65F6\u65F6\u4E0D\u80FD\u540C\u6B65\u66F4\u65B0\u4FEE\u6539\u540E\u7684\u72B6\u6001\u95EE\u9898\uFF0C\u611F\u8C22 "),U={href:"https://github.com/elvizlai",target:"_blank",rel:"noopener noreferrer"},W=o("Yongzheng Lai"),T=o(" \u7684 "),G={href:"https://github.com/fankes/YukiHookAPI/issues/23",target:"_blank",rel:"noopener noreferrer"},N=o("Issue"),O=c("
  • \u79FB\u52A8 YukiHookAPI \u81EA\u52A8\u751F\u6210\u7684\u5165\u53E3\u7C7B\u540D\u79F0\u6587\u4EF6 assets/yukihookapi_init \u5230 resources/META-INF/yukihookapi_init
  • \u5141\u8BB8\u5728\u4EC5\u6253\u5370\u5F02\u5E38\u5806\u6808\u65F6 msg \u53C2\u6570\u4E3A\u7A7A\u5E76\u53EF\u4EE5\u4E0D\u8BBE\u7F6E msg \u53C2\u6570\uFF0C\u7559\u7A7A msg \u53C2\u6570\u7684\u65E5\u5FD7\u9664\u975E\u5F02\u5E38\u5806\u6808\u4E0D\u4E3A\u7A7A\u5426\u5219\u5C06\u4E0D\u4F1A\u88AB\u8BB0\u5F55
  • \u4FEE\u590D Hook \u56DE\u8C03\u65B9\u6CD5\u4F53\u5185\u53D1\u751F\u7684\u5F02\u5E38\u6253\u5370\u7684\u65E5\u5FD7\u65E0\u5177\u4F53\u65B9\u6CD5\u4FE1\u606F\u7684 BUG
  • HookParam \u65B0\u589E instanceOrNull \u53D8\u91CF\u4E0E\u65B9\u6CD5\uFF0C\u53EF\u4EE5\u5728\u4E0D\u786E\u5B9A Hook \u5B9E\u4F8B\u662F\u5426\u4E3A\u7A7A\u7684\u524D\u63D0\u4E0B\u4F7F\u7528\u4EE5\u9632\u6B62 Hook \u5B9E\u4F8B\u4E3A\u7A7A\u629B\u51FA\u5F02\u5E38
  • \u89E3\u8026\u5408\u6240\u6709 Member \u67E5\u627E\u529F\u80FD\u4E2D\u7684 Hooker \u5230 MemberBaseFinder.MemberHookerManager
  • \u4FEE\u6539\u4E86 YukiMemberHookCreator \u4E2D\u7684 by \u6761\u4EF6\u7528\u6CD5\uFF0C\u73B0\u5728\u53EF\u4EE5\u91CD\u590D\u4F7F\u7528 by \u65B9\u6CD5\u8BBE\u7F6E\u591A\u4E2A\u6761\u4EF6
  • \u79FB\u9664\u4E86 Android type \u4E2D\u7684\u9519\u8BEF Class \u5BF9\u8C61\u58F0\u660E
  • PackageParam.AppLifecycle \u4E2D\u7684 registerReceiver \u65B9\u6CD5\u65B0\u589E\u76F4\u63A5\u4F7F\u7528 IntentFilter \u521B\u5EFA\u7CFB\u7EDF\u5E7F\u64AD\u76D1\u542C\u7684\u529F\u80FD
  • \u4FEE\u590D\u5728 PackageParam.AppLifecycle \u4E2D\u53EF\u80FD\u5B58\u5728\u591A\u6B21\u6CE8\u518C\u751F\u547D\u5468\u671F\u7684\u95EE\u9898
  • Revert: 1.1.7 \u7248\u672C\u7531\u4E8E\u6709\u4E00\u4E2A\u4E25\u91CD\u95EE\u9898\u5DF2\u7ECF\u64A4\u56DE\uFF0C\u8BF7\u76F4\u63A5\u66F4\u65B0\u5230\u6B64\u7248\u672C\u5373\u53EF (\u66F4\u65B0\u65E5\u5FD7\u540C 1.1.7 \u7248\u672C)
  • ",10),z={id:"_1-1-6-2023-01-21",tabindex:"-1"},j=e("a",{class:"header-anchor",href:"#_1-1-6-2023-01-21","aria-hidden":"true"},"#",-1),V=o(" 1.1.6 | 2023.01.21 \u2002"),Z=c("",1),K={id:"_1-1-5-2023-01-13",tabindex:"-1"},J=e("a",{class:"header-anchor",href:"#_1-1-5-2023-01-13","aria-hidden":"true"},"#",-1),q=o(" 1.1.5 | 2023.01.13 \u2002"),Q=c('',1),$={id:"_1-1-4-2022-10-04",tabindex:"-1"},ee=e("a",{class:"header-anchor",href:"#_1-1-4-2022-10-04","aria-hidden":"true"},"#",-1),oe=o(" 1.1.4 | 2022.10.04 \u2002"),de=c("",1),ie={id:"_1-1-3-2022-09-30",tabindex:"-1"},ce=e("a",{class:"header-anchor",href:"#_1-1-3-2022-09-30","aria-hidden":"true"},"#",-1),le=o(" 1.1.3 | 2022.09.30 \u2002"),te=e("ul",null,[e("li",null,"\u4FEE\u590D\u4E00\u4E2A\u65E0\u6CD5\u81EA\u5B9A\u4E49 Hook \u5165\u53E3\u7C7B\u540D\u7684\u81F4\u547D\u9519\u8BEF"),e("li",null,[o("\u6DFB\u52A0 "),e("code",null,"LoggerFactory"),o(" \u4E2D\u7684\u90E8\u5206\u4EE3\u7801\u6CE8\u91CA\u6587\u6848\u5E76\u66F4\u65B0\u7279\u8272\u529F\u80FD\u6587\u6863")])],-1),se={id:"_1-1-2-2022-09-30",tabindex:"-1"},ne=e("a",{class:"header-anchor",href:"#_1-1-2-2022-09-30","aria-hidden":"true"},"#",-1),ae=o(" 1.1.2 | 2022.09.30 \u2002"),re=c('',1),_e={id:"_1-1-1-2022-09-28",tabindex:"-1"},he=e("a",{class:"header-anchor",href:"#_1-1-1-2022-09-28","aria-hidden":"true"},"#",-1),ue=o(" 1.1.1 | 2022.09.28 \u2002"),ke=e("ul",null,[e("li",null,[o("\u4FEE\u590D\u4E86\u6587\u6863 "),e("a",{href:"../guide/knowledge"},"\u57FA\u7840\u77E5\u8BC6"),o(" \u9875\u9762\u53CB\u60C5\u94FE\u63A5\u9519\u8BEF\u7684\u95EE\u9898")]),e("li",null,[o("\u4FEE\u590D\u4E86\u6587\u6863 "),e("code",null,"favicon"),o(" \u4E0D\u663E\u793A\u7684\u95EE\u9898")]),e("li",null,[o("\u4FEE\u590D "),e("code",null,"DexClassFinder"),o(" \u67E5\u627E\u6761\u4EF6\u4E2D\u7684 BUG")])],-1),pe={id:"_1-1-0-2022-09-28",tabindex:"-1"},ge=e("a",{class:"header-anchor",href:"#_1-1-0-2022-09-28","aria-hidden":"true"},"#",-1),fe=o(" 1.1.0 | 2022.09.28 \u2002"),He=e("li",null,[o("\u8FD9\u662F\u4E00\u6B21\u5927\u7248\u672C\u66F4\u65B0\uFF0C\u6709\u5173\u66F4\u65B0\u65E5\u5FD7\u4E2D\u63D0\u5230\u7684\u53D8\u5316\u53CA\u7528\u6CD5\u8BF7\u53C2\u8003 "),e("a",{href:"../api/home"},"API \u6587\u6863"),o(" \u4EE5\u53CA "),e("a",{href:"../api/special-features/reflection"},"\u7279\u8272\u529F\u80FD")],-1),me=o("\u66F4\u6362\u5E2E\u52A9\u6587\u6863\u6846\u67B6\u5230 "),Pe={href:"https://v2.vuepress.vuejs.org",target:"_blank",rel:"noopener noreferrer"},be=o("VuePress"),ye=c('
  • \u7EDF\u4E00\u5E76\u89C4\u8303\u6587\u6863\u4E2D\u7684\u672F\u8BED\u540D\u8BCD\uFF0C\u4F8B\u5982\u201C\u67E5\u8BE2\u201D\u4E00\u5F8B\u66F4\u6539\u4E3A\u4E86\u201C\u67E5\u627E\u201D\uFF0CXposedHelper \u62FC\u5199\u9519\u8BEF\u4FEE\u6539\u4E3A\u4E86 XposedHelpers
  • \u6587\u6863 \u57FA\u7840\u77E5\u8BC6 \u9875\u9762\u52A0\u5165\u53CB\u60C5\u94FE\u63A5\uFF0C\u4EC5\u9650\u7B80\u4F53\u4E2D\u6587
  • \u5C06 Hook App Demo \u7684 Class \u4E0E Method \u8F6C\u4E3A Java \u4EE5\u63D0\u4F9B\u66F4\u597D\u7684\u6F14\u793A\u6548\u679C
  • \u4FEE\u6B63\u4E86 Hook Module Demo \u4E2D\u7684\u4EE3\u7801\u6CE8\u91CA\u547D\u540D
  • \u91CD\u6784\u4E86\u5927\u91CF\u5E95\u5C42 Hook \u903B\u8F91\u53CA Xposed API \u7684\u5BF9\u63A5\u65B9\u5F0F
  • \u79FB\u9664\u4E86 HookParamWrapper\uFF0C\u73B0\u5DF2\u5C06\u5176\u76F4\u63A5\u4E0E YukiBridgeFactory \u5BF9\u63A5
  • \u79FB\u52A8\u90E8\u5206 YukiHookBridge \u4E2D\u7684\u65B9\u6CD5\u5230 AppParasitics
  • \u79FB\u9664\u4E86 HookParam.args \u4E0E\u5E95\u5C42\u7684\u76F4\u63A5\u5BF9\u63A5\u65B9\u6CD5 setArgs\uFF0C\u76F4\u63A5\u83B7\u53D6\u5E76\u8BBE\u7F6E\u5F53\u524D\u6570\u7EC4\u7684\u5BF9\u8C61
  • \u4F18\u5316\u81EA\u52A8\u5904\u7406\u7A0B\u5E8F\uFF0C\u5C06\u5F15\u7528\u7684 jar \u5408\u5E76\u5230 stub \u9879\u76EE
  • ',9),Ce=o("\u4FEE\u590D\u591A\u9879\u76EE\u6253\u5305\u65F6\u6A21\u5757\u5305\u540D\u65E0\u6CD5\u6B63\u786E\u5339\u914D\u7684\u95EE\u9898\u4EE5\u53CA\u4FEE\u6539\u81EA\u52A8\u5904\u7406\u7A0B\u5E8F\u7684\u6A21\u5757\u5305\u540D\u5339\u914D\u903B\u8F91\uFF0C\u611F\u8C22 "),xe={href:"https://github.com/5ec1cff",target:"_blank",rel:"noopener noreferrer"},Ae=o("5ec1cff"),ve=o(" \u7684\u53CD\u9988\u53CA\u63D0\u4F9B\u7684\u89E3\u51B3\u65B9\u6848"),Ye=c("
  • \u5BF9 API \u79C1\u6709\u5DE5\u5177\u7C7B\u7684\u65B9\u6CD5\u8FDB\u884C\u4E86 internal \u95ED\u5305\u5904\u7406\uFF0C\u907F\u514D\u6C61\u67D3\u9876\u7EA7\u547D\u540D\u7A7A\u95F4
  • \u4FEE\u6B63\u4E86\u6240\u6709\u53CD\u5C04\u548C Hook \u7C7B\u7684 Creater \u547D\u540D\u5230 Creator
  • \u65B0\u589E YukiHookAPI.Status.compiledTimestamp \u529F\u80FD\uFF0C\u53EF\u4EE5\u5728\u4F5C\u4E3A Xposed \u6A21\u5757\u4F7F\u7528\u65F6\u83B7\u53D6\u7F16\u8BD1\u5B8C\u6210\u7684\u65F6\u95F4\u6233
  • \u65B0\u589E YukiHookAPI.Status.isXposedEnvironment \u529F\u80FD\uFF0C\u53EF\u4EE5\u5224\u65AD\u5F53\u524D\u4E3A (Xposed) \u5BBF\u4E3B\u73AF\u5883\u8FD8\u662F\u6A21\u5757\u73AF\u5883
  • \u8C03\u8BD5\u65E5\u5FD7\u529F\u80FD\u8FDB\u884C\u4E86\u5927\u6539\u7248\uFF0C\u73B0\u5DF2\u5C06 YukiHookAPI.Configs.debugTag \u7B49\u529F\u80FD\u5408\u5E76\u5230 YukiHookLogger.Configs \u4E2D
  • \u8C03\u8BD5\u65E5\u5FD7\u65B0\u589E\u53EF\u6307\u5B9A\u6253\u5370\u4F7F\u7528\u7684\u65B9\u6CD5\u4E3A XposedBridge.log \u6216 Logd
  • \u8C03\u8BD5\u65E5\u5FD7\u4E2D\u9ED8\u8BA4\u52A0\u5165\u5F53\u524D\u5BBF\u4E3B\u7684\u5305\u540D\u4EE5\u53CA\u5F53\u524D\u7528\u6237 ID\uFF0C\u4EE5\u4F9B\u8C03\u8BD5\uFF0C\u4F60\u53EF\u4EE5\u5728 debugLog \u914D\u7F6E\u4E2D\u81EA\u884C\u66F4\u6539
  • \u65B0\u589E generic \u529F\u80FD\uFF0C\u53EF\u5BF9\u6CDB\u578B\u8FDB\u884C\u53CD\u5C04\u548C\u8C03\u7528\uFF0C\u4F60\u53EF\u4EE5\u5728 Class \u6216 CurrentClass \u4E2D\u4F7F\u7528\u5B83
  • \u4F5C\u5E9F buildOfAny \u65B9\u6CD5\uFF0C\u73B0\u5728\u8BF7\u76F4\u63A5\u4F7F\u7528 buildOf \u65B9\u6CD5 (\u4E0D\u5E26\u6CDB\u578B) \u6765\u4F7F\u7528\u6784\u9020\u65B9\u6CD5\u521B\u5EFA\u65B0\u5BF9\u8C61\u5E76\u5F97\u5230\u7ED3\u679C Any
  • \u4FEE\u590D hasExtends \u4F7F\u7528\u8FC7\u7A0B\u53D1\u751F\u7A7A\u6307\u9488\u5F02\u5E38\u7684\u95EE\u9898
  • CurrentClass \u65B0\u589E\u975E lambda \u65B9\u5F0F\u7684\u8C03\u7528\u65B9\u6CD5
  • CurrentClass \u65B0\u589E name \u4E0E simpleName \u529F\u80FD
  • \u5B8C\u5168\u91CD\u5199 ReflectionTool \u7684\u6838\u5FC3\u65B9\u6CD5\uFF0C\u5C06\u4E0D\u540C\u7684\u67E5\u627E\u6761\u4EF6\u8FDB\u884C\u4E86\u6574\u7406\u5206\u7C7B
  • \u4FEE\u590D ReflectionTool \u4E2D\u53EF\u80FD\u7684\u76F4\u63A5\u8C03\u7528 declared \u83B7\u53D6\u7684 Member \u629B\u51FA\u5F02\u5E38\u7684\u95EE\u9898
  • \u4FEE\u590D ReflectionTool \u4E2D UndefinedType \u672A\u5728 Method \u4E0E Constructor \u6761\u4EF6\u4E2D\u6B63\u786E\u5224\u65AD\u7684\u95EE\u9898
  • \u65B0\u589E\u53CD\u5C04\u67E5\u627E\u7ED3\u679C\u53D1\u751F\u5F02\u5E38\u65F6\u7684\u53CB\u597D\u63D0\u793A\u65B9\u5F0F\uFF0C\u53EF\u5177\u4F53\u5B9A\u4F4D\u5230\u6307\u5B9A\u6761\u4EF6\u627E\u4E0D\u5230 Member \u7684\u95EE\u9898
  • \u53CD\u5C04\u67E5\u627E Method\u3001Constructor \u4E2D\u65B0\u589E VagueType \u6761\u4EF6\uFF0C\u53EF\u4F7F\u7528\u5728 param \u6761\u4EF6\u4E2D\u7528\u4E8E\u5FFD\u7565\u4F60\u4E0D\u60F3\u586B\u5199\u7684\u53C2\u6570
  • \u53CD\u5C04\u67E5\u627E Method\u3001Constructor \u4E2D\u65B0\u589E paramCount { ... } \u6761\u4EF6\uFF0C\u73B0\u5728\u4F60\u53EF\u4EE5\u76F4\u63A5\u62FF\u5230\u5176\u4E2D\u7684 it \u6765\u81EA\u5B9A\u4E49\u4F60\u7684\u5224\u65AD\u6761\u4EF6
  • FieldFinder \u7ED3\u679C\u4E2D\u65B0\u589E current \u65B9\u6CD5\uFF0C\u53EF\u76F4\u63A5\u5BF9\u7ED3\u679C\u5B9E\u4F8B\u521B\u5EFA\u8C03\u7528\u7A7A\u95F4
  • \u4FEE\u6539\u4E86\u53CD\u5C04\u67E5\u627E\u529F\u80FD\u4E2D\u7684 modifiers \u6761\u4EF6\u4EE5\u53CA name \u6761\u4EF6\uFF0C\u73B0\u5728\u4F60\u9700\u8981\u5BF9\u6B64\u65B9\u6CD5\u4F53\u7ED3\u5C3E\u8FD4\u56DE\u4E00\u4E2A Boolean \u4EE5\u4F7F\u6761\u4EF6\u6210\u7ACB
  • ",20),Me=e("code",null,"ModifierRules",-1),Ie=o(" \u4E2D\u7684 "),Re=e("code",null,"as*",-1),Le=o(" \u529F\u80FD\u6539\u540D\u4E3A "),Se=e("code",null,"is*",-1),Xe=o("\uFF0C\u611F\u8C22 "),Be={href:"https://github.com/KyuubiRan",target:"_blank",rel:"noopener noreferrer"},Fe=o("Kitsune"),De=o(" \u7684\u5EFA\u8BAE"),we=c("
  • FieldFinder \u4E2D\u65B0\u589E RemedyPlan \u529F\u80FD
  • \u65B0\u589E Dex \u4E2D\u7684 Class \u6A21\u7CCA\u67E5\u627E\u529F\u80FD (Beta)\uFF0C\u4F60\u73B0\u5728\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528 searchClass \u529F\u80FD\u6765\u4F7F\u7528\u6307\u5B9A\u6761\u4EF6\u6A21\u7CCA\u67E5\u627E Class
  • ",2),Ee=o("\u65B0\u589E\u53CD\u5C04\u67E5\u627E\u4E2D\u7684\u591A\u91CD\u67E5\u627E\u529F\u80FD\uFF0C\u53EF\u4F7F\u7528\u76F8\u5BF9\u67E5\u627E\u6761\u4EF6\u540C\u65F6\u83B7\u53D6\u591A\u4E2A\u67E5\u627E\u7ED3\u679C\uFF0C\u611F\u8C22 "),Ue=e("strong",null,"AA",-1),We=o(" \u4EE5\u53CA "),Te={href:"https://github.com/KyuubiRan",target:"_blank",rel:"noopener noreferrer"},Ge=o("Kitsune"),Ne=o(" \u7684\u5EFA\u8BAE"),Oe=o("\u4FEE\u590D "),ze=e("code",null,"appClassLoader",-1),je=o(" \u83B7\u53D6\u5230\u7684\u5BF9\u8C61\u5728\u67D0\u4E9B\u7CFB\u7EDF\u4E2D\u7684\u7CFB\u7EDF\u5E94\u7528\u4E2D\u4E0D\u6B63\u786E\u7684\u95EE\u9898\uFF0C\u611F\u8C22 "),Ve={href:"https://github.com/luckyzyx",target:"_blank",rel:"noopener noreferrer"},Ze=o("Luckyzyx"),Ke=o(" \u7684\u53CD\u9988"),Je=e("li",null,[o("\u4FEE\u6539\u4E86 "),e("code",null,"XposedBridge.invokeOriginalMethod"),o(" \u7684\u8C03\u7528\u65B9\u5F0F\u5E76\u5728 "),e("code",null,"MethodFinder.Result.Instance"),o(" \u4E2D\u589E\u52A0 "),e("code",null,"original"),o(" \u529F\u80FD")],-1),qe=o("\u4FEE\u590D "),Qe=e("code",null,"YukiHookModulePrefs",-1),$e=o(" \u4E2D "),eo=e("code",null,"getStringSet",-1),oo=o(" \u65B9\u6CD5\u53D6\u503C\u9519\u8BEF\u7684\u95EE\u9898\u5E76\u4F18\u5316\u4EE3\u7801\u98CE\u683C\uFF0C\u611F\u8C22 "),io={href:"https://github.com/Teddy-Zhu",target:"_blank",rel:"noopener noreferrer"},co=o("Teddy_Zhu"),lo=o(" \u7684 "),to={href:"https://github.com/fankes/YukiHookAPI/pull/19",target:"_blank",rel:"noopener noreferrer"},so=o("PR"),no=e("li",null,[o("\u4FEE\u6539 "),e("code",null,"YukiHookModulePrefs"),o("\uFF0C\u62E6\u622A "),e("code",null,"XSharePreference"),o(" \u53EF\u80FD\u4E0D\u5B58\u5728\u7684\u5F02\u5E38")],-1),ao=e("li",null,[o("\u4FEE\u590D "),e("code",null,"YukiHookDataChannel"),o(" \u5728\u67D0\u4E9B\u7B2C\u4E09\u65B9 ROM \u7CFB\u7EDF\u6846\u67B6\u4E2D\u65E0\u6CD5\u6CE8\u518C\u6210\u529F\u7684\u95EE\u9898")],-1),ro=e("li",null,[o("\u5B89\u5168\u5316 "),e("code",null,"YukiHookDataChannel"),o("\uFF0C\u73B0\u5728\u5B83\u53EA\u80FD\u5728\u6765\u81EA\u6307\u5B9A\u5305\u540D\u7684\u6A21\u5757\u4E0E\u5BBF\u4E3B\u4E4B\u95F4\u901A\u4FE1")],-1),_o=o("\u65B0\u589E\u81EA\u52A8 Hook "),ho=e("code",null,"SharedPreferences",-1),uo=o(" \u4EE5\u4FEE\u590D\u90E8\u5206\u7CFB\u7EDF\u4E2D\u6587\u4EF6\u6743\u9650\u4E0D\u662F "),ko=e("code",null,"0664",-1),po=o(" \u7684\u95EE\u9898\uFF0C\u611F\u8C22 "),go={href:"https://github.com/5ec1cff",target:"_blank",rel:"noopener noreferrer"},fo=o("5ec1cff"),Ho=o(" \u7684\u53CD\u9988\u53CA\u63D0\u4F9B\u7684\u5B9E\u73B0\u4EE3\u7801"),mo=c("
  • \u65B0\u589E YukiHookAPI.Configs.isEnableHookSharedPreferences \u529F\u80FD\uFF0C\u9ED8\u8BA4\u5173\u95ED\uFF0C\u82E5 SharedPreferences \u7684\u6743\u9650\u9519\u8BEF\u53EF\u8FDB\u884C\u542F\u7528
  • \u4FEE\u590D\u67E5\u627E Constructor \u65F6\u65E0\u53C2\u6784\u9020\u65B9\u6CD5\u5728\u4E0D\u586B\u5199\u67E5\u627E\u6761\u4EF6\u65F6\u65E0\u6CD5\u627E\u5230\u7684 BUG\uFF0C\u611F\u8C22 B5 KAKA \u7684\u53CD\u9988
  • \u5206\u79BB\u4F4D\u4E8E injectMember \u4E2D method\u3001constructor \u7684 Result \u5B9E\u4F8B\u5230 Process
  • \u5728 Hook \u8FC7\u7A0B\u4E2D\u65B0\u589E useDangerousOperation \u65B9\u6CD5\uFF0C\u672A\u8FDB\u884C\u58F0\u660E\u65F6\u5728 Hook \u5371\u9669\u5217\u8868\u4E2D\u7684\u529F\u80FD\u540E\u4F1A\u81EA\u52A8\u505C\u6B62 Hook \u5E76\u6253\u5370\u9519\u8BEF
  • \u65B0\u589E\u6A21\u5757\u8D44\u6E90\u6CE8\u5165\u4E0E Activity \u4EE3\u7406\u529F\u80FD\uFF0C\u4F60\u53EF\u4EE5\u8C03\u7528 injectModuleAppResources \u53CA registerModuleAppActivities \u6765\u4F7F\u7528
  • \u65B0\u589E ModuleContextThemeWrapper \u529F\u80FD\uFF0C\u4F60\u53EF\u4EE5\u8C03\u7528 applyModuleTheme \u5728\u4EFB\u610F Activity \u4E2D\u521B\u5EFA\u6A21\u5757\u7684 Context
  • \u65B0\u589E ClassLoader.onLoadClass \u529F\u80FD\uFF0C\u53EF\u7528\u4E8E\u76D1\u542C ClassLoader \u7684 loadClass \u65B9\u6CD5\u88AB\u8C03\u7528\u7684\u4E8B\u4EF6
  • \u4F5C\u5E9F\u4E86 classOf \u4E0E clazz \u6269\u5C55\u65B9\u6CD5\uFF0C\u65B0\u589E toClass \u4EE5\u53CA toClassOrNull \u7528\u6CD5\uFF0C\u8BF7\u73B0\u5728\u8F6C\u79FB\u5230\u65B0\u7684\u65B9\u6CD5
  • VariousClass \u65B0\u589E getOrNull \u65B9\u6CD5\uFF0C\u53EF\u5728\u5339\u914D\u4E0D\u5230 Class \u7684\u65F6\u5019\u4E0D\u629B\u51FA\u5F02\u5E38\u800C\u662F\u8FD4\u56DE null
  • PackageParam.hook \u4E2D\u79FB\u9664\u4E86 isUseAppClassLoader \u53C2\u6570\uFF0C\u4FEE\u6539\u4E3A isForceUseAbsolute \u5E76\u81EA\u52A8\u5339\u914D\u76EE\u6807 Class
  • PackageParam \u65B0\u589E systemContext \u529F\u80FD\uFF0C\u4F60\u53EF\u4EE5\u5728\u4EFB\u610F\u65F6\u95F4\u8C03\u7528\u6B64\u529F\u80FD\u83B7\u53D6\u4E00\u4E2A\u6301\u4E45\u5316\u7684 Context
  • \u4E0D\u518D\u5BF9\u5916\u5F00\u653E HookClass \u4E2D\u7684\u4EFB\u4F55\u65B9\u6CD5
  • HookParam \u4E2D\u65B0\u589E throwToApp \u529F\u80FD\uFF0C\u53EF\u5C06\u5F02\u5E38\u76F4\u63A5\u629B\u7ED9\u5BBF\u4E3B
  • Hook \u56DE\u8C03\u4E2D\u65B0\u589E onFailureThrowToApp \u529F\u80FD\uFF0C\u53EF\u5728\u53D1\u751F\u5F02\u5E38\u65F6\u76F4\u63A5\u629B\u7ED9\u5BBF\u4E3B
  • \u4FEE\u6539\u4E86\u8C03\u8BD5\u65E5\u5FD7\u7684\u6253\u5370\u903B\u8F91\uFF0C\u53CD\u5C04\u67E5\u627E\u529F\u80FD\u4E2D\u7684\u8017\u65F6\u8BB0\u5F55\u4EC5\u4F1A\u5728 Hook \u8FC7\u7A0B\u4E2D\u8FDB\u884C\u6253\u5370
  • Hook \u8FC7\u7A0B\u4E2D\u65B0\u589E\u89E3\u9664 Hook \u529F\u80FD\uFF0C\u53EF\u4F7F\u7528 remove \u53CA removeSelf \u65B9\u6CD5\u89E3\u9664 Hook
  • \u4FEE\u590D\u5728 ReplaceHook \u5931\u8D25\u7684\u65F6\u5019\u5BFC\u81F4\u5BBF\u4E3B\u629B\u51FA\u5F02\u5E38\u7684\u95EE\u9898\uFF0C\u73B0\u4FEE\u6539\u4E3A\u8C03\u7528\u539F\u59CB\u65B9\u6CD5\u4FDD\u8BC1\u5BBF\u4E3B\u529F\u80FD\u6B63\u5E38\u8FD0\u884C
  • \u65B0\u589E Hook \u8FC7\u7A0B\u4E2D\u5BF9\u65B9\u6CD5\u8FD4\u56DE\u503C\u7684\u68C0\u67E5\u529F\u80FD\uFF0C\u5728\u8FD4\u56DE\u503C\u4E0D\u5339\u914D\u7684\u60C5\u51B5\u4E0B\u4F1A\u6839\u636E\u60C5\u666F\u81EA\u52A8\u629B\u51FA\u5F02\u5E38\u6216\u6253\u5370\u9519\u8BEF
  • ",18),Po=o("Resources Hook \u4E2D\u65B0\u589E "),bo=e("code",null,"array",-1),yo=o(" \u7C7B\u578B\uFF0C\u611F\u8C22 "),Co={href:"https://github.com/GSWXXN",target:"_blank",rel:"noopener noreferrer"},xo=o("GSWXXN"),Ao=o(" \u7684 "),vo={href:"https://github.com/fankes/YukiHookAPI/pull/12",target:"_blank",rel:"noopener noreferrer"},Yo=o("PR"),Mo=e("li",null,[o("\u79FB\u52A8 "),e("code",null,"me.weishu.reflection"),o(" \u5230 "),e("code",null,"thirdparty"),o(" \u9632\u6B62\u540C\u65F6\u5F15\u5165\u7684\u540C\u540D\u4F9D\u8D56\u51B2\u7A81")],-1),Io=e("li",null,"\u79FB\u9664 Hook \u65B9\u6CD5\u4F53\u4E3A\u7A7A\u65F6\u629B\u51FA\u7684\u5F02\u5E38\uFF0C\u4FEE\u6539\u4E3A\u6253\u5370\u8B66\u544A\u65E5\u5FD7",-1),Ro=e("li",null,[o("\u4FEE\u6539 "),e("code",null,"AppLifecycle"),o(" \u7684\u5F02\u5E38\u5904\u7406\u903B\u8F91\uFF0C\u5F53\u5176\u53D1\u751F\u5F02\u5E38\u65F6\u76F4\u63A5\u629B\u7ED9\u5BBF\u4E3B")],-1),Lo=e("li",null,"\u66F4\u65B0 Demo \u7684 API \u7248\u672C\u5230 33",-1),So={id:"_1-0-92-2022-05-31",tabindex:"-1"},Xo=e("a",{class:"header-anchor",href:"#_1-0-92-2022-05-31","aria-hidden":"true"},"#",-1),Bo=o(" 1.0.92 | 2022.05.31 \u2002"),Fo=c("",1),Do={id:"_1-0-91-2022-05-29",tabindex:"-1"},wo=e("a",{class:"header-anchor",href:"#_1-0-91-2022-05-29","aria-hidden":"true"},"#",-1),Eo=o(" 1.0.91 | 2022.05.29 \u2002"),Uo=o("\u4FEE\u590D\u90E8\u5206\u8BBE\u5907\u7684\u5B9A\u5236\u7CFB\u7EDF\u5728 LSPosed \u73AF\u5883\u4E0B\u5F00\u673A\u542F\u52A8\u83B7\u53D6\u7684 "),Wo=e("code",null,"ClassLoader",-1),To=o(" \u9519\u8BEF\u7684\u95EE\u9898\uFF0C\u611F\u8C22 "),Go={href:"https://github.com/luckyzyx",target:"_blank",rel:"noopener noreferrer"},No=o("Luckyzyx"),Oo=o(" \u7684\u53CD\u9988"),zo=c("
  • \u4FEE\u590D YukiHookDataChannel \u5728 ZUI \u4EE5\u53CA\u4F4E\u4E8E Android 12 \u7684\u7CFB\u7EDF\u4E0A\u4E0D\u80FD\u56DE\u8C03\u5F53\u524D Activity \u5E7F\u64AD\u7684\u95EE\u9898
  • \u6574\u5408 YukiHookModuleStatus \u529F\u80FD\u5230 YukiHookAPI.Status\uFF0C\u91CD\u5199\u4E86\u5927\u91CF\u65B9\u6CD5\uFF0C\u73B0\u5728\u4F60\u53EF\u4EE5\u5728\u6A21\u5757\u4E0E\u5BBF\u4E3B\u4E2D\u53CC\u5411\u5224\u65AD\u6A21\u5757\u6FC0\u6D3B\u7B49\u72B6\u6001\u4FE1\u606F
  • ",2),jo={id:"_1-0-90-2022-05-27",tabindex:"-1"},Vo=e("a",{class:"header-anchor",href:"#_1-0-90-2022-05-27","aria-hidden":"true"},"#",-1),Zo=o(" 1.0.90 | 2022.05.27 \u2002"),Ko=c("",1),Jo={id:"_1-0-89-2022-05-26",tabindex:"-1"},qo=e("a",{class:"header-anchor",href:"#_1-0-89-2022-05-26","aria-hidden":"true"},"#",-1),Qo=o(" 1.0.89 | 2022.05.26 \u2002"),$o=c("",1),ed={id:"_1-0-88-2022-05-25",tabindex:"-1"},od=e("a",{class:"header-anchor",href:"#_1-0-88-2022-05-25","aria-hidden":"true"},"#",-1),dd=o(" 1.0.88 | 2022.05.25 \u2002"),id=c("",1),cd={id:"_1-0-87-2022-05-10",tabindex:"-1"},ld=e("a",{class:"header-anchor",href:"#_1-0-87-2022-05-10","aria-hidden":"true"},"#",-1),td=o(" 1.0.87 | 2022.05.10 \u2002"),sd=e("ul",null,[e("li",null,[o("\u65B0\u589E "),e("code",null,"refreshModuleAppResources"),o(" \u529F\u80FD\uFF0C\u4EE5\u9002\u914D\u8BED\u8A00\u533A\u57DF\u3001\u5B57\u4F53\u5927\u5C0F\u3001\u5206\u8FA8\u7387\u6539\u53D8\u7B49\u60C5\u51B5\u4E0B\u7684 Resources \u5237\u65B0")]),e("li",null,[o("\u65B0\u589E "),e("code",null,"isEnableModuleAppResourcesCache"),o(" \u529F\u80FD\uFF0C\u53EF\u81EA\u884C\u8BBE\u7F6E\u662F\u5426\u81EA\u52A8\u7F13\u5B58\u5F53\u524D\u6A21\u5757\u7684 Resources")])],-1),nd={id:"_1-0-86-2022-05-06",tabindex:"-1"},ad=e("a",{class:"header-anchor",href:"#_1-0-86-2022-05-06","aria-hidden":"true"},"#",-1),rd=o(" 1.0.86 | 2022.05.06 \u2002"),_d=e("ul",null,[e("li",null,[o("\u4FEE\u590D\u4E0D\u652F\u6301 Resources Hook(\u8D44\u6E90\u94A9\u5B50) \u7684\u60C5\u51B5\u4E0B\u5728 "),e("code",null,"initZygote"),o(" \u65F6\u6301\u7EED\u62A5\u9519\u7684\u95EE\u9898\uFF0C\u590D\u73B0\u5728 "),e("strong",null,"ZUI"),o("/"),e("strong",null,"LSPosed CI(1.8.3-6550)")]),e("li",null,"\u4F18\u5316\u5E76\u5BF9 Resources Hook \u8FDB\u884C\u5F02\u5E38\u5904\u7406\uFF0C\u53EA\u6709\u88AB\u4F7F\u7528\u540E\u4E0D\u652F\u6301\u624D\u4F1A\u6253\u5370\u9519\u8BEF\u548C\u8B66\u544A")],-1),hd={id:"_1-0-85-2022-05-04",tabindex:"-1"},ud=e("a",{class:"header-anchor",href:"#_1-0-85-2022-05-04","aria-hidden":"true"},"#",-1),kd=o(" 1.0.85 | 2022.05.04 \u2002"),pd=c("",1),gd={id:"_1-0-83-2022-05-04",tabindex:"-1"},fd=e("a",{class:"header-anchor",href:"#_1-0-83-2022-05-04","aria-hidden":"true"},"#",-1),Hd=o(" 1.0.83 | 2022.05.04 \u2002"),md=e("ul",null,[e("li",null,[o("\u4FEE\u590D "),e("code",null,"YukiHookModuleStatus"),o(" \u5728 "),e("code",null,"loadSystem"),o(" \u540E\u5927\u91CF\u62A5\u9519\u7684\u95EE\u9898")]),e("li",null,[o("\u65B0\u589E "),e("code",null,"type"),o(" \u4E2D\u7684 "),e("code",null,"android"),o(" \u7C7B\u578B")]),e("li",null,"\u66F4\u65B0\u5E2E\u52A9\u6587\u6863\u7684\u793A\u4F8B\u8BF4\u660E")],-1),Pd={id:"_1-0-82-2022-05-04",tabindex:"-1"},bd=e("a",{class:"header-anchor",href:"#_1-0-82-2022-05-04","aria-hidden":"true"},"#",-1),yd=o(" 1.0.82 | 2022.05.04 \u2002"),Cd=e("ul",null,[e("li",null,[o("\u4FEE\u590D\u4E86\u4E00\u5904\u6982\u5FF5\u6DF7\u6DC6\u9519\u8BEF\uFF0C\u533A\u5206 "),e("code",null,"initZygote"),o(" \u4E0E\u7CFB\u7EDF\u6846\u67B6\u7684\u5173\u7CFB\uFF0C\u4E4B\u524D\u7684\u6CE8\u91CA\u548C\u6587\u6863\u6709\u95EE\u9898\uFF0C\u975E\u5E38\u62B1\u6B49")]),e("li",null,[e("code",null,"PackageParam"),o(" \u65B0\u589E "),e("code",null,"loadSystem"),o(" \u65B9\u6CD5\uFF0C\u4E0D\u9700\u8981\u518D\u5199 "),e("code",null,'loadApp(name = "android")'),o(" \u5373\u53EF Hook \u7CFB\u7EDF\u6846\u67B6")])],-1),xd={id:"_1-0-81-2022-05-04",tabindex:"-1"},Ad=e("a",{class:"header-anchor",href:"#_1-0-81-2022-05-04","aria-hidden":"true"},"#",-1),vd=o(" 1.0.81 | 2022.05.04 \u2002"),Yd=e("ul",null,[e("li",null,[o("\u4FEE\u590D\u4F7F\u7528 "),e("code",null,"by"),o(" \u65B9\u6CD5\u8BBE\u7F6E\u6761\u4EF6\u540E Hook \u65B9\u6CD5\u4F53\u5185\u67E5\u627E\u4E0D\u5230\u7684\u65B9\u6CD5\u3001\u6784\u9020\u65B9\u6CD5\u4F9D\u7136\u8F93\u51FA\u9519\u8BEF\u65E5\u5FD7\u7684\u95EE\u9898")]),e("li",null,"\u5728\u6267\u884C Hook \u8FC7\u7A0B\u4E2D\u52A0\u5165\u5168\u5C40\u65E5\u5FD7\u663E\u793A\u5F53\u524D Hook APP \u7684\u5305\u540D\uFF0C\u5E76\u4FEE\u590D\u4E00\u5904\u9519\u8BEF\u65E5\u5FD7\u6253\u5370\u6837\u5F0F\u7684\u95EE\u9898")],-1),Md={id:"_1-0-80-2022-05-01",tabindex:"-1"},Id=e("a",{class:"header-anchor",href:"#_1-0-80-2022-05-01","aria-hidden":"true"},"#",-1),Rd=o(" 1.0.80 | 2022.05.01 \u2002"),Ld=c("
  • InjectYukiHookWithXposed \u6CE8\u89E3\u65B0\u589E entryClassName \u529F\u80FD\uFF0C\u53EF\u81EA\u5B9A\u4E49\u751F\u6210\u7684 xposed_init \u5165\u53E3\u7C7B\u540D
  • YukiHookXposedInitProxy \u66F4\u540D\u4E3A IYukiHookXposedInit\uFF0C\u539F\u63A5\u53E3\u540D\u79F0\u5DF2\u4F5C\u5E9F\uFF0C\u5C06\u5728\u540E\u7EED\u7248\u672C\u4E2D\u76F4\u63A5\u88AB\u5220\u9664
  • \u65B0\u589E initZygote \u4E0E Resources Hook \u529F\u80FD\uFF0C\u652F\u6301 Hook Layout
  • \u65B0\u589E onXposedEvent \u65B9\u6CD5\uFF0C\u53EF\u76D1\u542C\u539F\u751F Xposed API \u7684\u5168\u90E8\u4E8B\u4EF6
  • \u5BF9 Hook \u529F\u80FD\u7684 lambda \u8FDB\u884C inline \u5904\u7406\uFF0C\u907F\u514D\u751F\u6210\u8FC7\u788E\u7684\u533F\u540D\u7C7B\uFF0C\u63D0\u5347\u7F16\u8BD1\u540E\u7684\u8FD0\u884C\u6027\u80FD
  • \u4FEE\u590D PrefsData \u7F16\u8BD1\u540E\u7684\u65B9\u6CD5\u4F53\u590D\u5236\u8FC7\u5927\u7684\u95EE\u9898
  • \u589E\u52A0 XSharePreference \u53EF\u8BFB\u6027\u6D4B\u8BD5\uFF0C\u5931\u8D25\u540E\u4F1A\u81EA\u52A8\u6253\u5370\u8B66\u544A\u65E5\u5FD7
  • PackageParam \u65B0\u589E appResources\u3001moduleAppResources\u3001moduleAppFilePath \u529F\u80FD
  • PackageParam \u7684 loadApp \u65B0\u589E\u4E0D\u5199 name \u529F\u80FD\uFF0C\u9ED8\u8BA4\u7B5B\u9009\u5168\u90E8 APP
  • PackageParam \u65B0\u589E loadZygote \u65B9\u6CD5\uFF0C\u53EF\u76F4\u63A5 Hook \u7CFB\u7EDF\u6846\u67B6
  • PackageParam \u65B0\u589E resources().hook \u529F\u80FD
  • \u4F18\u5316\u65B9\u6CD5\u3001\u6784\u9020\u65B9\u6CD5\u3001\u53D8\u91CF\u67E5\u627E\u529F\u80FD\uFF0C\u627E\u4E0D\u5230\u7684\u9519\u8BEF\u65E5\u5FD7\u5C06\u4F18\u5148\u663E\u793A\u5DF2\u8BBE\u7F6E\u7684\u67E5\u627E\u6761\u4EF6
  • \u589E\u52A0 hasExtends \u6269\u5C55\u65B9\u6CD5\uFF0C\u53EF\u5224\u65AD\u5F53\u524D Class \u662F\u5426\u6709\u7EE7\u627F\u5173\u7CFB
  • \u589E\u52A0 isSupportResourcesHook \u529F\u80FD\uFF0C\u5224\u65AD\u5F53\u524D\u662F\u5426\u652F\u6301\u8D44\u6E90\u94A9\u5B50(Resources Hook)
  • current \u529F\u80FD\u65B0\u589E superClass \u65B9\u6CD5\u8C03\u7528\u7236\u7C7B
  • \u67E5\u627E\u65B9\u6CD5\u3001\u6784\u9020\u65B9\u6CD5\u3001\u53D8\u91CF\u65B0\u589E superClass \u67E5\u627E\u6761\u4EF6\uFF0C\u53EF\u7EE7\u7EED\u5728\u7236\u7C7B\u4E2D\u67E5\u627E
  • YukiHookAPI \u5927\u91CF\u65B9\u6CD5\u4E0E Xposed API \u89E3\u8026\u5408
  • \u65B0\u589E Xposed API \u7684\u539F\u751F Hook \u4F18\u5148\u7EA7\u529F\u80FD
  • \u4FEE\u590D isFirstApplication \u53EF\u80FD\u5224\u65AD\u4E0D\u51C6\u786E\u7684\u95EE\u9898
  • \u5C4F\u853D MIUI \u7CFB\u7EDF\u4E0A MiuiCatcherPatch \u91CD\u590D\u8C03\u7528 Hook \u5165\u53E3\u65B9\u6CD5\u7684\u95EE\u9898
  • \u4F18\u5316 Hook \u5165\u53E3\u8C03\u7528\u65B9\u6CD5\uFF0C\u907F\u514D\u56E0\u4E3A Hook Framework \u95EE\u9898\u5BFC\u81F4\u591A\u6B21\u8C03\u7528
  • ",21),Sd=o("\u4FEE\u590D Hook "),Xd=e("code",null,"ClassLoader",-1),Bd=o(" \u5BFC\u81F4 Hook \u5361\u6B7B\u7684\u95EE\u9898\uFF0C\u611F\u8C22 "),Fd={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},Dd=o("WankkoRee"),wd=o(" \u7684\u53CD\u9988"),Ed=e("li",null,[o("\u63D0\u5347 "),e("code",null,"XC_Callback"),o(" \u63A5\u53E3\u5BF9\u63A5\u540E\u7684\u6027\u80FD")],-1),Ud=e("li",null,[o("Java "),e("code",null,"type"),o(" \u65B0\u589E "),e("code",null,"ClassLoader"),o(" \u7C7B\u578B")],-1),Wd=e("li",null,"\u4F18\u5316 API \u5E2E\u52A9\u6587\u6863\uFF0C\u4FEE\u590D\u53EF\u80FD\u6301\u7EED\u7F13\u5B58\u9875\u9762\u7684\u95EE\u9898",-1),Td={id:"_1-0-78-2022-04-18",tabindex:"-1"},Gd=e("a",{class:"header-anchor",href:"#_1-0-78-2022-04-18","aria-hidden":"true"},"#",-1),Nd=o(" 1.0.78 | 2022.04.18 \u2002"),Od=c("
  • YukiHookModulePrefs \u65B0\u589E isRunInNewXShareMode \u65B9\u6CD5\uFF0C\u53EF\u7528\u4E8E\u5224\u65AD\u6A21\u5757\u5F53\u524D\u662F\u5426\u5904\u4E8E New XSharePreference \u6A21\u5F0F
  • \u4FEE\u590D YukiHookModulePrefs \u5728 New XSharePreference \u6A21\u5F0F\u4E0B\u5DE5\u4F5C\u7684\u90E8\u5206\u95EE\u9898
  • \u65B0\u589E ModulePreferenceFragment\uFF0C\u73B0\u5728\uFF0C\u4F60\u53EF\u4EE5\u5B8C\u5168\u66FF\u6362\u6389 PreferenceFragmentCompat \u5E76\u5F00\u59CB\u4F7F\u7528\u65B0\u7684\u529F\u80FD
  • ",3),zd=o("\u9002\u914D "),jd=e("code",null,"PreferenceFragmentCompat",-1),Vd=o(" \u7684 Sp \u6570\u636E\u5B58\u50A8\u89E3\u51B3\u65B9\u6848\uFF0C\u611F\u8C22 "),Zd={href:"https://github.com/mahoshojoHCG",target:"_blank",rel:"noopener noreferrer"},Kd=o("mahoshojoHCG"),Jd=o(" \u7684\u53CD\u9988"),qd=e("li",null,[o("\u66F4\u65B0\u81EA\u52A8\u5904\u7406\u7A0B\u5E8F\u4EE5\u53CA "),e("code",null,"Kotlin"),o(" \u4F9D\u8D56\u5230\u6700\u65B0\u7248\u672C")],-1),Qd=e("li",null,"\u4FEE\u6B63\u90E8\u5206\u6587\u6863\u548C\u4EE3\u7801\u6CE8\u91CA\u4E2D\u7684\u9519\u8BEF",-1),$d={id:"_1-0-77-2022-04-15",tabindex:"-1"},ei=e("a",{class:"header-anchor",href:"#_1-0-77-2022-04-15","aria-hidden":"true"},"#",-1),oi=o(" 1.0.77 | 2022.04.15 \u2002"),di=e("code",null,"YukiHookModulePrefs",-1),ii=o(" \u65B0\u589E "),ci=e("code",null,"clear",-1),li=o(" \u65B9\u6CD5\uFF0C\u611F\u8C22 "),ti={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},si=o("WankkoRee"),ni=o(" \u7684\u5EFA\u8BAE"),ai=c("
  • YukiHookModulePrefs \u65B0\u589E getStringSet\u3001putStringSet\u3001all \u65B9\u6CD5
  • HookParam \u7684 args \u589E\u52A0 any \u65B9\u6CD5
  • \u65B0\u589E ModuleApplication\uFF0C\u53EF\u5728\u6A21\u5757\u4E2D\u7EE7\u627F\u6B64\u7C7B\u5B9E\u73B0\u66F4\u591A\u529F\u80FD
  • \u5BF9\u63A5\u5168\u90E8\u7684 findClass \u529F\u80FD\u5230 Xposed API\uFF0C\u5728\u975E\u5BBF\u4E3B\u73AF\u5883\u7EE7\u7EED\u4F7F\u7528\u539F\u751F ClassLoader
  • \u4FEE\u590D\u4E86\u4E00\u4E9B\u53EF\u80FD\u5B58\u5728\u7684 BUG
  • ",5),ri={id:"_1-0-75-2022-04-13",tabindex:"-1"},_i=e("a",{class:"header-anchor",href:"#_1-0-75-2022-04-13","aria-hidden":"true"},"#",-1),hi=o(" 1.0.75 | 2022.04.13 \u2002"),ui=o("\u66F4\u6B63\u4E86\u81EA\u52A8\u5904\u7406\u7A0B\u5E8F\u7684\u903B\u8F91\u8BC6\u522B\u90E8\u5206\uFF0C\u611F\u8C22 "),ki={href:"https://github.com/ApeaSuperz",target:"_blank",rel:"noopener noreferrer"},pi=o("ApeaSuperz"),gi=o(" \u7684\u8D21\u732E"),fi=c("
  • \u4FEE\u6B63\u4E00\u5904\u6587\u6863\u6CE8\u91CA\u7684\u5F15\u7528\u672A\u66F4\u6539\u7684\u95EE\u9898
  • HookParam \u4E2D\u5220\u9664\u4E86 firstArgs \u4E0E lastArgs \u65B9\u6CD5\uFF0C\u73B0\u5728\u4F60\u53EF\u4EE5\u4F7F\u7528 args().first() \u4E0E args().last() \u6765\u53D6\u4EE3\u5B83
  • HookParam \u4E2D\u5220\u9664\u4E86 args() \u4E2D\u7684\u9ED8\u8BA4\u53C2\u6570 index = 0\uFF0C\u73B0\u5728\u4F60\u53EF\u4EE5\u4F7F\u7528 args().first() \u6216 args(index = 0) \u6765\u53D6\u4EE3\u5B83
  • HookParam \u4E2D result \u529F\u80FD\u589E\u52A0\u4E86\u6CDB\u578B\u5339\u914D\uFF0C\u73B0\u5728\u4F60\u53EF\u4EE5\u4F7F\u7528 result<T> \u6765\u5339\u914D\u4F60\u7684\u76EE\u6807\u65B9\u6CD5\u5DF2\u77E5\u8FD4\u56DE\u503C\u7C7B\u578B\u4E86
  • \u65B9\u6CD5\u3001\u6784\u9020\u65B9\u6CD5\u67E5\u627E\u529F\u80FD\u65B0\u589E emptyParam \u6761\u4EF6\uFF0C\u5E76\u5B8C\u5584\u4E86\u6587\u6863\u76F8\u5173\u9700\u8981\u6CE8\u610F\u7684\u67E5\u627E\u6761\u4EF6\u8BEF\u533A
  • \u589E\u52A0\u4E86 type \u4E2D\u7684 android \u7C7B\u578B
  • ",6),Hi=e("h3",{id:"_1-0-73-2022-04-10",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_1-0-73-2022-04-10","aria-hidden":"true"},"#"),o(" 1.0.73 | 2022.04.10")],-1),mi=o("\u4FEE\u6B63\u51E0\u5904\u6587\u6863\u7684\u4E2D\u6587\u7FFB\u8BD1\u9519\u8BEF\uFF0C\u611F\u8C22 "),Pi={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},bi=o("WankkoRee"),yi=o(" \u7684\u8D21\u732E"),Ci=o("\u4FEE\u590D\u5728\u67D0\u4E9B\u60C5\u51B5\u4E0B "),xi=e("code",null,"XC_LoadPackage.LoadPackageParam",-1),Ai=o(" \u5185\u5BB9\u4E3A\u7A7A\u629B\u51FA\u5F02\u5E38\u7684\u95EE\u9898\uFF0C\u611F\u8C22 "),vi={href:"https://github.com/luckyzyx",target:"_blank",rel:"noopener noreferrer"},Yi=o("Luckyzyx"),Mi=o(" \u7684\u53CD\u9988"),Ii=e("li",null,"\u4FEE\u590D\u4E00\u4E9B\u5DF2\u77E5\u7684 BUG\uFF0C\u63D0\u5347 Hook \u7A33\u5B9A\u6027",-1),Ri={id:"_1-0-72-2022-04-09",tabindex:"-1"},Li=e("a",{class:"header-anchor",href:"#_1-0-72-2022-04-09","aria-hidden":"true"},"#",-1),Si=o(" 1.0.72 | 2022.04.09 \u2002"),Xi=e("ul",null,[e("li",null,"\u66F4\u65B0 API \u6587\u6863\u5230\u65B0\u7684\u5730\u5740"),e("li",null,[e("code",null,"PackageParam"),o(" \u4E2D\u52A0\u5165 "),e("code",null,"appContext"),o(" \u529F\u80FD")]),e("li",null,"\u4FEE\u590D\u4E00\u4E9B\u5DF2\u77E5\u7684 BUG\uFF0C\u63D0\u5347 Hook \u7A33\u5B9A\u6027")],-1),Bi={id:"_1-0-71-2022-04-04",tabindex:"-1"},Fi=e("a",{class:"header-anchor",href:"#_1-0-71-2022-04-04","aria-hidden":"true"},"#",-1),Di=o(" 1.0.71 | 2022.04.04 \u2002"),wi=e("ul",null,[e("li",null,"\u4FEE\u590D VariousClass \u65E0\u6CD5\u5339\u914D\u65F6\u4F1A\u505C\u6B62 Hook \u629B\u51FA\u5F02\u5E38\u7684\u4E25\u91CD\u95EE\u9898")],-1),Ei={id:"_1-0-70-2022-04-04",tabindex:"-1"},Ui=e("a",{class:"header-anchor",href:"#_1-0-70-2022-04-04","aria-hidden":"true"},"#",-1),Wi=o(" 1.0.70 | 2022.04.04 \u2002"),Ti=e("li",null,[o("\u4FEE\u590D "),e("code",null,"instanceClass"),o(" \u5728\u9759\u6001\u5B9E\u4F8B\u4E2D\u8C03\u7528\u540E\u62A5\u9519\u95EE\u9898")],-1),Gi=o("\u5728 Hook \u8FC7\u7A0B\u4E2D\u52A0\u5165 "),Ni=e("code",null,"isUseAppClassLoader",-1),Oi=o(" \u529F\u80FD\uFF0C\u611F\u8C22 "),zi={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},ji=o("WankkoRee"),Vi=o(" \u7684\u53CD\u9988"),Zi=e("li",null,[o("\u52A0\u5165 "),e("code",null,"withProcess"),o(" \u529F\u80FD\uFF0C\u53EF\u6839\u636E APP \u5F53\u524D\u6307\u5B9A\u8FDB\u7A0B\u8FDB\u884C Hook")],-1),Ki=e("li",null,"\u4FEE\u590D\u67E5\u627E\u65B9\u6CD5\u3001\u6784\u9020\u7C7B\u548C\u53D8\u91CF\u7684\u4E25\u91CD\u903B\u8F91\u9519\u8BEF\u95EE\u9898",-1),Ji=e("li",null,"\u4FEE\u590D Hook \u76EE\u6807\u7C7B\u4E0D\u5B58\u5728\u7684\u65F6\u5019\u65E0\u6CD5\u5FFD\u7565\u5F02\u5E38\u8F93\u51FA\u7684\u95EE\u9898",-1),qi=e("li",null,"\u4FEE\u590D\u90E8\u5206\u60C5\u51B5\u4E0B APP \u542F\u52A8\u65B9\u6CD5\u88C5\u8F7D\u8FC7\u5FEB\u5BFC\u81F4 Hook \u4E0D\u80FD\u751F\u6548\u7684\u95EE\u9898",-1),Qi=o("\u4FEE\u590D "),$i=e("code",null,"allMethods",-1),ec=o(" \u672A Hook \u5230\u65B9\u6CD5\u65F6\u4E0D\u4F1A\u629B\u51FA\u5F02\u5E38\u7684\u95EE\u9898\uFF0C\u611F\u8C22 "),oc={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},dc=o("WankkoRee"),ic=o(" \u7684\u53CD\u9988"),cc=o("\u52A0\u5165 Hook \u72B6\u6001\u76D1\u542C\u529F\u80FD\uFF0C\u611F\u8C22 "),lc={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},tc=o("WankkoRee"),sc=o(" \u7684\u5EFA\u8BAE"),nc=e("li",null,"\u4FEE\u6539 Xposed \u5165\u53E3\u6CE8\u5165\u7C7B\u7684\u65B9\u5F0F\uFF0C\u91CD\u65B0\u58F0\u660E API \u7684\u5B9A\u4E49\u57DF",-1),ac=o("\u52A0\u5165\u6DF7\u6DC6\u7684\u65B9\u6CD5\u4EE5\u53CA\u53D8\u91CF\u7684\u67E5\u627E\u529F\u80FD\uFF0C\u53EF\u4F7F\u7528\u4E0D\u540C\u7C7B\u578B\u7B5B\u9009 "),rc=e("code",null,"index",-1),_c=o(" \u5B9A\u4F4D\u6307\u5B9A\u7684\u65B9\u6CD5\u548C\u53D8\u91CF\uFF0C\u611F\u8C22 "),hc={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},uc=o("WankkoRee"),kc=o(" \u63D0\u4F9B\u7684\u601D\u8DEF"),pc=e("li",null,[o("\u67E5\u627E\u65B9\u6CD5\u3001\u53D8\u91CF\u65F6\u5141\u8BB8\u4F20\u5165\u591A\u79CD\u7C7B\u578B\uFF0C\u4F8B\u5982 "),e("code",null,"String"),o(" \u58F0\u660E\u7684\u7C7B\u540D\u548C "),e("code",null,"VariousClass")],-1),gc=e("li",null,[o("\u52A0\u5165\u5168\u65B0\u7684 "),e("code",null,"current"),o(" \u529F\u80FD\uFF0C\u53EF\u5BF9\u4EFB\u610F\u7684\u7C7B\u6784\u5EFA\u4E00\u4E2A\u53CD\u5C04\u65B9\u6CD5\u64CD\u4F5C\u7A7A\u95F4\uFF0C\u65B9\u4FBF\u5730\u8C03\u7528\u548C\u4FEE\u6539\u5176\u4E2D\u7684\u65B9\u6CD5\u548C\u53D8\u91CF")],-1),fc=o("\u4FEE\u590D\u4E86 Hook \u8FC7\u7A0B\u4E2D\u7684\u5927\u91CF BUG\uFF0C\u611F\u8C22 "),Hc={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},mc=o("WankkoRee"),Pc=o(" \u5BF9\u6B64\u9879\u76EE\u6240\u505A\u51FA\u7684\u8D21\u732E"),bc={id:"_1-0-69-2022-03-30",tabindex:"-1"},yc=e("a",{class:"header-anchor",href:"#_1-0-69-2022-03-30","aria-hidden":"true"},"#",-1),Cc=o(" 1.0.69 | 2022.03.30 \u2002"),xc=e("li",null,"\u6DFB\u52A0\u5E76\u6539\u8FDB\u4E00\u4E9B\u65B9\u6CD5\u529F\u80FD\u7684\u6CE8\u91CA",-1),Ac=e("li",null,"\u589E\u52A0 Demo \u4E2D\u7684\u66F4\u591A\u793A\u4F8B Hook \u5185\u5BB9",-1),vc=o("\u4FEE\u590D\u5728\u4E00\u4E2A Hook \u5B9E\u4F8B\u4E2D\uFF0C"),Yc=e("code",null,"allMethods",-1),Mc=o(" \u591A\u6B21\u4F7F\u7528\u65F6\u53EA\u6709\u6700\u540E\u4E00\u4E2A\u751F\u6548\u7684\u95EE\u9898\uFF0C\u611F\u8C22 "),Ic={href:"https://github.com/WankkoRee",target:"_blank",rel:"noopener noreferrer"},Rc=o("WankkoRee"),Lc=o(" \u7684\u53CD\u9988"),Sc={id:"_1-0-68-2022-03-29",tabindex:"-1"},Xc=e("a",{class:"header-anchor",href:"#_1-0-68-2022-03-29","aria-hidden":"true"},"#",-1),Bc=o(" 1.0.68 | 2022.03.29 \u2002"),Fc=c("",1),Dc={id:"_1-0-67-2022-03-27",tabindex:"-1"},wc=e("a",{class:"header-anchor",href:"#_1-0-67-2022-03-27","aria-hidden":"true"},"#",-1),Ec=o(" 1.0.67 | 2022.03.27 \u2002"),Uc=c("",1),Wc={id:"_1-0-66-2022-03-25",tabindex:"-1"},Tc=e("a",{class:"header-anchor",href:"#_1-0-66-2022-03-25","aria-hidden":"true"},"#",-1),Gc=o(" 1.0.66 | 2022.03.25 \u2002"),Nc=e("ul",null,[e("li",null,[o("\u4FEE\u590D "),e("code",null,"MethodFinder"),o(" \u4E2D\u7684\u4E00\u4E2A\u4E25\u91CD\u95EE\u9898")]),e("li",null,[o("\u589E\u52A0 "),e("code",null,"hookParam"),o(" \u4E2D\u7684 "),e("code",null,"args"),o(" \u8C03\u7528\u65B9\u6CD5")]),e("li",null,"\u4FEE\u590D\u5176\u5B83\u53EF\u80FD\u5B58\u5728\u7684\u95EE\u9898\u4EE5\u53CA\u4FEE\u590D\u90E8\u5206\u7C7B\u7684\u6CE8\u91CA\u95EE\u9898")],-1),Oc={id:"_1-0-65-2022-03-25",tabindex:"-1"},zc=e("a",{class:"header-anchor",href:"#_1-0-65-2022-03-25","aria-hidden":"true"},"#",-1),jc=o(" 1.0.65 | 2022.03.25 \u2002"),Vc=c("",1),Zc={id:"_1-0-6-2022-03-20",tabindex:"-1"},Kc=e("a",{class:"header-anchor",href:"#_1-0-6-2022-03-20","aria-hidden":"true"},"#",-1),Jc=o(" 1.0.6 | 2022.03.20 \u2002"),qc=c("",1),Qc={id:"_1-0-55-2022-03-18",tabindex:"-1"},$c=e("a",{class:"header-anchor",href:"#_1-0-55-2022-03-18","aria-hidden":"true"},"#",-1),el=o(" 1.0.55 | 2022.03.18 \u2002"),ol=e("ul",null,[e("li",null,"\u4FEE\u6B63\u4E00\u5904\u6CE8\u91CA\u9519\u8BEF"),e("li",null,"\u4E34\u65F6\u4FEE\u590D\u4E00\u4E2A BUG"),e("li",null,[o("\u589E\u52A0\u4E86 "),e("code",null,"type"),o(" \u4E2D\u7684\u5927\u91CF "),e("code",null,"android"),o(" \u7C7B\u578B\u4EE5\u53CA\u5C11\u91CF "),e("code",null,"java"),o(" \u7C7B\u578B")]),e("li",null,"\u4FEE\u590D\u65B0\u7248\u4E0E\u65E7\u7248 Kotlin APIs \u7684\u517C\u5BB9\u6027\u95EE\u9898")],-1),dl={id:"_1-0-5-2022-03-18",tabindex:"-1"},il=e("a",{class:"header-anchor",href:"#_1-0-5-2022-03-18","aria-hidden":"true"},"#",-1),cl=o(" 1.0.5 | 2022.03.18 \u2002"),ll=c("",1),tl={id:"_1-0-4-2022-03-06",tabindex:"-1"},sl=e("a",{class:"header-anchor",href:"#_1-0-4-2022-03-06","aria-hidden":"true"},"#",-1),nl=o(" 1.0.4 | 2022.03.06 \u2002"),al=c("",1),rl={id:"_1-0-3-2022-03-02",tabindex:"-1"},_l=e("a",{class:"header-anchor",href:"#_1-0-3-2022-03-02","aria-hidden":"true"},"#",-1),hl=o(" 1.0.3 | 2022.03.02 \u2002"),ul=c("",1),kl={id:"_1-0-2-2022-02-18",tabindex:"-1"},pl=e("a",{class:"header-anchor",href:"#_1-0-2-2022-02-18","aria-hidden":"true"},"#",-1),gl=o(" 1.0.2 | 2022.02.18 \u2002"),fl=e("ul",null,[e("li",null,"\u4FEE\u590D Windows \u4E0B\u65E0\u6CD5\u627E\u5230\u9879\u76EE\u8DEF\u5F84\u7684\u95EE\u9898"),e("li",null,[o("\u79FB\u9664\u90E8\u5206\u53CD\u5C04 API\uFF0C\u5408\u5E76\u81F3 "),e("code",null,"BaseFinder"),o(" \u8FDB\u884C\u6574\u5408")]),e("li",null,"\u589E\u52A0\u76F4\u63A5\u4F7F\u7528\u5B57\u7B26\u4E32\u521B\u5EFA Hook \u7684\u65B9\u6CD5")],-1),Hl={id:"_1-0-1-2022-02-15",tabindex:"-1"},ml=e("a",{class:"header-anchor",href:"#_1-0-1-2022-02-15","aria-hidden":"true"},"#",-1),Pl=o(" 1.0.1 | 2022.02.15 \u2002"),bl=c("",1),yl={id:"_1-0-2022-02-14",tabindex:"-1"},Cl=e("a",{class:"header-anchor",href:"#_1-0-2022-02-14","aria-hidden":"true"},"#",-1),xl=o(" 1.0 | 2022.02.14 \u2002"),Al=e("ul",null,[e("li",null,"\u9996\u4E2A\u7248\u672C\u63D0\u4EA4\u81F3 Maven")],-1);function vl(Yl,Ml){const i=t("Badge"),l=t("ExternalLinkIcon");return n(),a("div",null,[_,h,u,e("h3",k,[p,g,d(i,{type:"tip",text:"\u6700\u65B0",vertical:"middle"})]),e("ul",null,[e("li",null,[f,H,m,P,b,e("a",y,[C,d(l)])]),x]),e("h3",A,[v,Y,d(i,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),M,e("h3",I,[R,L,d(i,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),S,e("h3",X,[B,F,d(i,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),e("ul",null,[e("li",null,[D,w,E,e("a",U,[W,d(l)]),T,e("a",G,[N,d(l)])]),O]),e("h3",z,[j,V,d(i,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),Z,e("h3",K,[J,q,d(i,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),Q,e("h3",$,[ee,oe,d(i,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),de,e("h3",ie,[ce,le,d(i,{type:"warning",text:"\u8FC7\u65E7",vertical:"middle"})]),te,e("h3",se,[ne,ae,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),re,e("h3",_e,[he,ue,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),ke,e("h3",pe,[ge,fe,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),e("ul",null,[He,e("li",null,[me,e("a",Pe,[be,d(l)])]),ye,e("li",null,[Ce,e("a",xe,[Ae,d(l)]),ve]),Ye,e("li",null,[Me,Ie,Re,Le,Se,Xe,e("a",Be,[Fe,d(l)]),De]),we,e("li",null,[Ee,Ue,We,e("a",Te,[Ge,d(l)]),Ne]),e("li",null,[Oe,ze,je,e("a",Ve,[Ze,d(l)]),Ke]),Je,e("li",null,[qe,Qe,$e,eo,oo,e("a",io,[co,d(l)]),lo,e("a",to,[so,d(l)])]),no,ao,ro,e("li",null,[_o,ho,uo,ko,po,e("a",go,[fo,d(l)]),Ho]),mo,e("li",null,[Po,bo,yo,e("a",Co,[xo,d(l)]),Ao,e("a",vo,[Yo,d(l)])]),Mo,Io,Ro,Lo]),e("h3",So,[Xo,Bo,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Fo,e("h3",Do,[wo,Eo,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),e("ul",null,[e("li",null,[Uo,Wo,To,e("a",Go,[No,d(l)]),Oo]),zo]),e("h3",jo,[Vo,Zo,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Ko,e("h3",Jo,[qo,Qo,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),$o,e("h3",ed,[od,dd,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),id,e("h3",cd,[ld,td,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),sd,e("h3",nd,[ad,rd,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),_d,e("h3",hd,[ud,kd,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),pd,e("h3",gd,[fd,Hd,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),md,e("h3",Pd,[bd,yd,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Cd,e("h3",xd,[Ad,vd,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Yd,e("h3",Md,[Id,Rd,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),e("ul",null,[Ld,e("li",null,[Sd,Xd,Bd,e("a",Fd,[Dd,d(l)]),wd]),Ed,Ud,Wd]),e("h3",Td,[Gd,Nd,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),e("ul",null,[Od,e("li",null,[zd,jd,Vd,e("a",Zd,[Kd,d(l)]),Jd]),qd,Qd]),e("h3",$d,[ei,oi,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),e("ul",null,[e("li",null,[di,ii,ci,li,e("a",ti,[si,d(l)]),ni]),ai]),e("h3",ri,[_i,hi,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),e("ul",null,[e("li",null,[ui,e("a",ki,[pi,d(l)]),gi]),fi]),Hi,e("ul",null,[e("li",null,[mi,e("a",Pi,[bi,d(l)]),yi]),e("li",null,[Ci,xi,Ai,e("a",vi,[Yi,d(l)]),Mi]),Ii]),e("h3",Ri,[Li,Si,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Xi,e("h3",Bi,[Fi,Di,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),wi,e("h3",Ei,[Ui,Wi,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),e("ul",null,[Ti,e("li",null,[Gi,Ni,Oi,e("a",zi,[ji,d(l)]),Vi]),Zi,Ki,Ji,qi,e("li",null,[Qi,$i,ec,e("a",oc,[dc,d(l)]),ic]),e("li",null,[cc,e("a",lc,[tc,d(l)]),sc]),nc,e("li",null,[ac,rc,_c,e("a",hc,[uc,d(l)]),kc]),pc,gc,e("li",null,[fc,e("a",Hc,[mc,d(l)]),Pc])]),e("h3",bc,[yc,Cc,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),e("ul",null,[xc,Ac,e("li",null,[vc,Yc,Mc,e("a",Ic,[Rc,d(l)]),Lc])]),e("h3",Sc,[Xc,Bc,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Fc,e("h3",Dc,[wc,Ec,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Uc,e("h3",Wc,[Tc,Gc,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Nc,e("h3",Oc,[zc,jc,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Vc,e("h3",Zc,[Kc,Jc,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),qc,e("h3",Qc,[$c,el,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),ol,e("h3",dl,[il,cl,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),ll,e("h3",tl,[sl,nl,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),al,e("h3",rl,[_l,hl,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),ul,e("h3",kl,[pl,gl,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),fl,e("h3",Hl,[ml,Pl,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),bl,e("h3",yl,[Cl,xl,d(i,{type:"danger",text:"\u8FC7\u671F",vertical:"middle"})]),Al])}const Rl=s(r,[["render",vl],["__file","changelog.html.vue"]]);export{Rl as default};