import{_ as i,r as o,o as p,c as d,b as s,d as e,w as a,e as l,a as r}from"./app.f643a53b.js";const A={},y=s("h1",{id:"\u4ECB\u7ECD",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u4ECB\u7ECD","aria-hidden":"true"},"#"),l(" \u4ECB\u7ECD")],-1),u=s("blockquote",null,[s("p",null,[s("code",null,"YukiHookAPI"),l(" \u662F\u4E00\u4E2A\u96C6\u6210\u5316\u7684 Hook API \u6846\u67B6\uFF0C\u672C\u8EAB\u4E0D\u63D0\u4F9B\u4EFB\u4F55 Hook \u529F\u80FD\uFF0C\u9700\u8981 Xposed \u76F8\u5173\u57FA\u7840 API \u7684\u652F\u6301\u3002")])],-1),D=s("h2",{id:"\u80CC\u666F",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u80CC\u666F","aria-hidden":"true"},"#"),l(" \u80CC\u666F")],-1),m=s("p",null,[l("\u8FD9\u662F\u4E00\u4E2A\u4F7F\u7528 "),s("code",null,"Kotlin"),l(" \u57FA\u4E8E Xposed API \u91CD\u65B0\u6784\u5EFA\u7684\u9AD8\u6548 Hook API\uFF0C\u540C\u65F6\u4E3A Xposed \u6A21\u5757\u7684\u5F00\u53D1\u6253\u9020\u4E86\u4E30\u5BCC\u7684\u529F\u80FD\u6269\u5C55\u3002")],-1),C=l("\u540D\u79F0\u53D6\u81EA "),h={href:"https://www.bilibili.com/bangumi/play/ss5016",target:"_blank",rel:"noopener noreferrer"},B=l("\u300A\u3082\u3082\u304F\u308A\u300B\u5973\u4E3B \u6817\u539F \u96EA(Yuki)"),_=l("\u3002"),b=l("\u524D\u8EAB\u4E3A "),v={href:"https://github.com/fankes/TMore",target:"_blank",rel:"noopener noreferrer"},F=l("\u5F00\u53D1\u5B66\u4E60\u9879\u76EE"),k=l(" \u4E2D\u4F7F\u7528\u7684 Innocent Xposed API\uFF0C\u73B0\u5728\u91CD\u65B0\u547D\u540D\u5E76\u5F00\u6E90\u3002"),f=r('<h2 id="\u7528\u9014" tabindex="-1"><a class="header-anchor" href="#\u7528\u9014" aria-hidden="true">#</a> \u7528\u9014</h2><p><code>YukiHookAPI</code> \u5B8C\u5168\u91C7\u7528 <code>Kotlin</code> <code>lambda</code> \u8BED\u6CD5\u6784\u5EFA\u3002</p><p>\u629B\u5F03\u539F\u59CB\u4E0D\u592A\u53CB\u597D\u7684 <code>XposedHelpers</code>\uFF0C\u4F60\u53EF\u4EE5\u4F7F\u7528\u5B83\u6765\u8F7B\u677E\u521B\u5EFA Xposed \u6A21\u5757\u4EE5\u53CA\u8F7B\u677E\u5B9E\u73B0\u81EA\u5B9A\u4E49 Hook API\u3002</p><h2 id="\u8BED\u8A00\u8981\u6C42" tabindex="-1"><a class="header-anchor" href="#\u8BED\u8A00\u8981\u6C42" aria-hidden="true">#</a> \u8BED\u8A00\u8981\u6C42</h2><p>\u8BF7\u4F7F\u7528 <code>Kotlin</code>\uFF0C\u6846\u67B6\u90E8\u5206\u4EE3\u7801\u6784\u6210\u540C\u6837\u517C\u5BB9 <code>Java</code> \u4F46\u57FA\u7840 Hook \u573A\u666F\u7684\u5B9E\u73B0<strong>\u53EF\u80FD\u5B8C\u5168\u65E0\u6CD5\u4F7F\u7528</strong>\u3002</p><p>\u6587\u6863\u5168\u90E8\u7684 Demo \u793A\u4F8B\u4EE3\u7801\u90FD\u5C06\u4F7F\u7528 <code>Kotlin</code> \u8FDB\u884C\u63CF\u8FF0\uFF0C\u5982\u679C\u4F60\u5B8C\u5168\u4E0D\u4F1A\u4F7F\u7528 <code>Kotlin</code> \u90A3\u4F60\u5C06\u6709\u53EF\u80FD\u65E0\u6CD5\u4F7F\u7528 <code>YukiHookAPI</code>\u3002</p>',6),g=l("\u90E8\u5206 Java Demo \u4EE3\u7801\u53EF\u5728 "),H={href:"https://github.com/fankes/YukiHookAPI/tree/master/demo-module/src/main/java/com/highcapable/yukihookapi/demo_module/hook/java",target:"_blank",rel:"noopener noreferrer"},P=l("\u8FD9\u91CC"),I=l(" \u627E\u5230\uFF0C\u4F46\u4E0D\u63A8\u8350\u4F7F\u7528\u3002"),X=r('<h2 id="\u7075\u611F\u6765\u6E90" tabindex="-1"><a class="header-anchor" href="#\u7075\u611F\u6765\u6E90" aria-hidden="true">#</a> \u7075\u611F\u6765\u6E90</h2><p>\u4EE5\u524D\uFF0C\u6211\u4EEC\u5728\u6784\u5EFA Xposed \u6A21\u5757\u7684\u65F6\u5019\uFF0C\u9996\u5148\u9700\u8981\u5728 <code>assets</code> \u4E0B\u521B\u5EFA <code>xposed_init</code> \u6587\u4EF6\u3002</p><p>\u7136\u540E\uFF0C\u5C06\u81EA\u5DF1\u7684\u5165\u53E3\u7C7B\u540D\u624B\u52A8\u586B\u5165\u6587\u4EF6\u4E2D\uFF0C\u4F7F\u7528 <code>XposedHelpers</code> \u53BB\u5B9E\u73B0\u6211\u4EEC\u7684 Hook \u903B\u8F91\u3002</p><p>\u81EA <code>Kotlin</code> \u4F5C\u4E3A Android \u4E3B\u8981\u5F00\u53D1\u8BED\u8A00\u4EE5\u6765\uFF0C\u8FD9\u5957 API \u7528\u8D77\u6765\u786E\u5B9E\u5DF2\u7ECF\u4E0D\u662F\u5F88\u4F18\u96C5\u4E86\u3002</p><p>\u6709\u6CA1\u6709\u4EC0\u4E48 <strong>\u597D\u7528\u3001\u8F7B\u91CF\u3001\u4F18\u96C5</strong> \u7684\u89E3\u51B3\u529E\u6CD5\u5462\uFF1F</p><p>\u672C\u7740\u8FD9\u6837\u7684\u60F3\u6CD5\uFF0C<code>YukiHookAPI</code> \u8BDE\u751F\u4E86\u3002</p><p>\u73B0\u5728\uFF0C\u6211\u4EEC\u53EA\u9700\u8981\u7F16\u5199\u5C11\u91CF\u7684\u4EE3\u7801\uFF0C\u4E00\u5207\u65F6\u95F4\u5F00\u9500\u548C\u82B1\u8D39\u4EA4\u7ED9\u81EA\u52A8\u5316\u5904\u7406\u3002</p><p>\u501F\u52A9 <code>Kotlin</code> \u4F18\u96C5\u7684 <code>lambda</code> \u5199\u6CD5\u4EE5\u53CA <code>YukiHookAPI</code>\uFF0C\u53EF\u4EE5\u8BA9\u4F60\u7684 Hook \u903B\u8F91\u66F4\u52A0\u7F8E\u89C2\u6E05\u6670\u3002</p><blockquote><p>\u793A\u4F8B\u5982\u4E0B</p></blockquote>',9),Y=s("div",{class:"language-kotlin ext-kt line-numbers-mode"},[s("pre",{class:"shiki",style:{"background-color":"#22272e"}},[s("code",null,[s("span",{class:"line"},[s("span",{style:{color:"#F47067"}},"@InjectYukiHookWithXposed")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#F47067"}},"object"),s("span",{style:{color:"#ADBAC7"}}," HookEntry "),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#6CB6FF"}},"IYukiHookXposedInit"),s("span",{style:{color:"#ADBAC7"}}," {")]),l(`
`),s("span",{class:"line"}),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    "),s("span",{style:{color:"#F47067"}},"override"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F47067"}},"fun"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#DCBDFB"}},"onHook"),s("span",{style:{color:"#ADBAC7"}},"() "),s("span",{style:{color:"#F47067"}},"="),s("span",{style:{color:"#ADBAC7"}}," encase {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        loadZygote {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            "),s("span",{style:{color:"#F69D50"}},"ActivityClass"),s("span",{style:{color:"#ADBAC7"}},".hook {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                injectMember {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    method {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        name "),s("span",{style:{color:"#F47067"}},"="),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#96D0FF"}},'"onCreate"')]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        param("),s("span",{style:{color:"#F69D50"}},"BundleClass"),s("span",{style:{color:"#ADBAC7"}},")")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    beforeHook {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        "),s("span",{style:{color:"#768390"}},"// Your code here.")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    afterHook {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        "),s("span",{style:{color:"#768390"}},"// Your code here.")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            resources().hook {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                injectResource {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    conditions {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        name "),s("span",{style:{color:"#F47067"}},"="),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#96D0FF"}},'"sym_def_app_icon"')]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        mipmap()")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    replaceToModuleResource("),s("span",{style:{color:"#F69D50"}},"R"),s("span",{style:{color:"#ADBAC7"}},".mipmap.ic_launcher)")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        loadApp(name "),s("span",{style:{color:"#F47067"}},"="),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#96D0FF"}},'"com.android.browser"'),s("span",{style:{color:"#ADBAC7"}},") {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            "),s("span",{style:{color:"#F69D50"}},"ActivityClass"),s("span",{style:{color:"#ADBAC7"}},".hook {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                injectMember {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    method {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        name "),s("span",{style:{color:"#F47067"}},"="),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#96D0FF"}},'"onCreate"')]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        param("),s("span",{style:{color:"#F69D50"}},"BundleClass"),s("span",{style:{color:"#ADBAC7"}},")")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    beforeHook {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        "),s("span",{style:{color:"#768390"}},"// Your code here.")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    afterHook {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        "),s("span",{style:{color:"#768390"}},"// Your code here.")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            resources().hook {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                injectResource {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    conditions {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        name "),s("span",{style:{color:"#F47067"}},"="),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#96D0FF"}},'"ic_launcher"')]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        mipmap()")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    replaceToModuleResource("),s("span",{style:{color:"#F69D50"}},"R"),s("span",{style:{color:"#ADBAC7"}},".mipmap.ic_launcher)")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"}")]),l(`
`),s("span",{class:"line"})])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"})])],-1),x=s("div",{class:"language-kotlin ext-kt line-numbers-mode"},[s("pre",{class:"shiki",style:{"background-color":"#22272e"}},[s("code",null,[s("span",{class:"line"},[s("span",{style:{color:"#F47067"}},"class"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"HookEntry"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#6CB6FF"}},"IXposedHookZygoteInit"),s("span",{style:{color:"#ADBAC7"}},", "),s("span",{style:{color:"#F69D50"}},"IXposedHookLoadPackage"),s("span",{style:{color:"#ADBAC7"}},", "),s("span",{style:{color:"#F69D50"}},"IXposedHookInitPackageResources"),s("span",{style:{color:"#ADBAC7"}}," {")]),l(`
`),s("span",{class:"line"}),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    "),s("span",{style:{color:"#F47067"}},"private"),s("span",{style:{color:"#ADBAC7"}}," lateinit "),s("span",{style:{color:"#F47067"}},"var"),s("span",{style:{color:"#ADBAC7"}}," moduleResources"),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"XModuleResources")]),l(`
`),s("span",{class:"line"}),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    "),s("span",{style:{color:"#F47067"}},"override"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F47067"}},"fun"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#DCBDFB"}},"initZygote"),s("span",{style:{color:"#ADBAC7"}},"(sparam"),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"IXposedHookZygoteInit"),s("span",{style:{color:"#ADBAC7"}},"."),s("span",{style:{color:"#F69D50"}},"StartupParam"),s("span",{style:{color:"#ADBAC7"}},") {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        moduleResources "),s("span",{style:{color:"#F47067"}},"="),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"XModuleResources"),s("span",{style:{color:"#ADBAC7"}},".createInstance(sparam.modulePath, "),s("span",{style:{color:"#6CB6FF"}},"null"),s("span",{style:{color:"#ADBAC7"}},")")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        "),s("span",{style:{color:"#F69D50"}},"XResources"),s("span",{style:{color:"#ADBAC7"}},".setSystemWideReplacement(")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            "),s("span",{style:{color:"#96D0FF"}},'"android"'),s("span",{style:{color:"#ADBAC7"}},", "),s("span",{style:{color:"#96D0FF"}},'"mipmap"'),s("span",{style:{color:"#ADBAC7"}},", "),s("span",{style:{color:"#96D0FF"}},'"sym_def_app_icon"'),s("span",{style:{color:"#ADBAC7"}},",")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            moduleResources.fwd("),s("span",{style:{color:"#F69D50"}},"R"),s("span",{style:{color:"#ADBAC7"}},".mipmap.ic_launcher)")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        )")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        "),s("span",{style:{color:"#F69D50"}},"XposedHelpers"),s("span",{style:{color:"#ADBAC7"}},".findAndHookMethod(")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                Activity::"),s("span",{style:{color:"#6CB6FF"}},"class"),s("span",{style:{color:"#ADBAC7"}},".java.name,")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                "),s("span",{style:{color:"#6CB6FF"}},"null"),s("span",{style:{color:"#ADBAC7"}},", "),s("span",{style:{color:"#96D0FF"}},'"onCreate"'),s("span",{style:{color:"#ADBAC7"}},",")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                Bundle::"),s("span",{style:{color:"#6CB6FF"}},"class"),s("span",{style:{color:"#ADBAC7"}},".java,")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                "),s("span",{style:{color:"#F47067"}},"object"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"XC_MethodHook"),s("span",{style:{color:"#ADBAC7"}},"() {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    override fun beforeHookedMethod(param"),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"MethodHookParam?"),s("span",{style:{color:"#ADBAC7"}},") {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        "),s("span",{style:{color:"#F47067"}},"//"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"Your"),s("span",{style:{color:"#ADBAC7"}}," code here.")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"}),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    override fun afterHookedMethod(param"),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"MethodHookParam?"),s("span",{style:{color:"#ADBAC7"}},") {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        "),s("span",{style:{color:"#F47067"}},"//"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"Your"),s("span",{style:{color:"#ADBAC7"}}," code here.")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                })")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    }")]),l(`
`),s("span",{class:"line"}),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    "),s("span",{style:{color:"#F47067"}},"override"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F47067"}},"fun"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#DCBDFB"}},"handleLoadPackage"),s("span",{style:{color:"#ADBAC7"}},"(lpparam"),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"XC_LoadPackage"),s("span",{style:{color:"#ADBAC7"}},"."),s("span",{style:{color:"#F69D50"}},"LoadPackageParam"),s("span",{style:{color:"#ADBAC7"}},") {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        "),s("span",{style:{color:"#F47067"}},"if"),s("span",{style:{color:"#ADBAC7"}}," (lpparam.packageName "),s("span",{style:{color:"#F47067"}},"=="),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#96D0FF"}},'"com.android.browser"'),s("span",{style:{color:"#ADBAC7"}},")")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            "),s("span",{style:{color:"#F69D50"}},"XposedHelpers"),s("span",{style:{color:"#ADBAC7"}},".findAndHookMethod(")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                Activity::"),s("span",{style:{color:"#6CB6FF"}},"class"),s("span",{style:{color:"#ADBAC7"}},".java.name,")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                lpparam.classLoader, "),s("span",{style:{color:"#96D0FF"}},'"onCreate"'),s("span",{style:{color:"#ADBAC7"}},",")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                Bundle::"),s("span",{style:{color:"#6CB6FF"}},"class"),s("span",{style:{color:"#ADBAC7"}},".java,")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                "),s("span",{style:{color:"#F47067"}},"object"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"XC_MethodHook"),s("span",{style:{color:"#ADBAC7"}},"() {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    override fun beforeHookedMethod(param"),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"MethodHookParam?"),s("span",{style:{color:"#ADBAC7"}},") {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        "),s("span",{style:{color:"#F47067"}},"//"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"Your"),s("span",{style:{color:"#ADBAC7"}}," code here.")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"}),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    override fun afterHookedMethod(param"),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"MethodHookParam?"),s("span",{style:{color:"#ADBAC7"}},") {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                        "),s("span",{style:{color:"#F47067"}},"//"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"Your"),s("span",{style:{color:"#ADBAC7"}}," code here.")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                })")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    }")]),l(`
`),s("span",{class:"line"}),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    "),s("span",{style:{color:"#F47067"}},"override"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F47067"}},"fun"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#DCBDFB"}},"handleInitPackageResources"),s("span",{style:{color:"#ADBAC7"}},"(resparam"),s("span",{style:{color:"#F47067"}},":"),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#F69D50"}},"XC_InitPackageResources"),s("span",{style:{color:"#ADBAC7"}},"."),s("span",{style:{color:"#F69D50"}},"InitPackageResourcesParam"),s("span",{style:{color:"#ADBAC7"}},") {")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"        "),s("span",{style:{color:"#F47067"}},"if"),s("span",{style:{color:"#ADBAC7"}}," (resparam.packageName "),s("span",{style:{color:"#F47067"}},"=="),s("span",{style:{color:"#ADBAC7"}}," "),s("span",{style:{color:"#96D0FF"}},'"com.android.browser"'),s("span",{style:{color:"#ADBAC7"}},")")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            resparam.res.setReplacement(")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                "),s("span",{style:{color:"#96D0FF"}},'"com.android.browser"'),s("span",{style:{color:"#ADBAC7"}},", "),s("span",{style:{color:"#96D0FF"}},'"mipmap"'),s("span",{style:{color:"#ADBAC7"}},", "),s("span",{style:{color:"#96D0FF"}},'"ic_launcher"'),s("span",{style:{color:"#ADBAC7"}},",")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"                moduleResources.fwd("),s("span",{style:{color:"#F69D50"}},"R"),s("span",{style:{color:"#ADBAC7"}},".mipmap.ic_launcher)")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"            )")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"    }")]),l(`
`),s("span",{class:"line"},[s("span",{style:{color:"#ADBAC7"}},"}")]),l(`
`),s("span",{class:"line"})])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"})])],-1),R=s("p",null,"\u662F\u7684\uFF0C\u4F60\u6CA1\u6709\u770B\u9519\uFF0C\u4EC5\u4EC5\u5C31\u9700\u8981\u8FD9\u4E9B\u4EE3\u7801\uFF0C\u5C31\u80FD\u5B8C\u5168\u53D6\u4EE3 Xposed API \u5B9E\u73B0\u540C\u6837\u7684\u529F\u80FD\u3002",-1),w=s("p",null,[l("\u73B0\u5728\uFF0C\u501F\u52A9\u9AD8\u6548\u5F3A\u5927\u7684 "),s("code",null,"YukiHookAPI"),l("\uFF0C\u4F60\u5C31\u53EF\u4EE5\u5B9E\u73B0\u4E00\u4E2A\u975E\u5E38\u7B80\u5355\u7684 Xposed \u6A21\u5757\u3002")],-1),M=s("h2",{id:"\u652F\u6301\u7684-hook-framework",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u652F\u6301\u7684-hook-framework","aria-hidden":"true"},"#"),l(" \u652F\u6301\u7684 Hook Framework")],-1),L=s("p",null,[l("\u4EE5\u4E0B\u662F "),s("code",null,"YukiHookAPI"),l(" \u652F\u6301\u7684 "),s("code",null,"Hook Framework"),l(" \u4EE5\u53CA Xposed \u6846\u67B6\u3002")],-1),j=s("thead",null,[s("tr",null,[s("th",null,"Hook Framework"),s("th",null,"ST"),s("th",null,"Description")])],-1),S={href:"https://github.com/LSPosed/LSPosed",target:"_blank",rel:"noopener noreferrer"},E=l("LSPosed"),K=s("td",null,"\u2705",-1),T=s("td",null,"\u591A\u573A\u666F\u4E0B\u7A33\u5B9A\u4F7F\u7528",-1),N={href:"https://github.com/LSPosed/LSPatch",target:"_blank",rel:"noopener noreferrer"},G=l("LSPatch"),V=s("td",null,"\u2B55",-1),W=s("td",null,"\u5C06\u5728\u6B64\u9879\u76EE\u5B8C\u5584\u540E\u9010\u6E10\u52A0\u5165 API \u652F\u6301",-1),Z={href:"https://github.com/ElderDrivers/EdXposed",target:"_blank",rel:"noopener noreferrer"},q=l("EdXposed"),J=s("td",null,"\u274E",-1),z=s("td",null,"\u5DF2\u505C\u6B62\u7EF4\u62A4\uFF0C\u4E0D\u518D\u63A8\u8350\u4F7F\u7528",-1),O={href:"https://github.com/canyie/pine",target:"_blank",rel:"noopener noreferrer"},Q=l("Pine"),U=s("td",null,"\u2B55",-1),$=s("td",null,"\u53EF\u4EE5\u4F7F\u7528",-1),ss={href:"https://github.com/asLody/SandHook",target:"_blank",rel:"noopener noreferrer"},ls=l("SandHook"),es=s("td",null,"\u2B55",-1),ns=s("td",null,"\u53EF\u4EE5\u4F7F\u7528",-1),os={href:"https://github.com/asLody/whale",target:"_blank",rel:"noopener noreferrer"},as=l("Whale"),cs=s("td",null,"\u2B55",-1),rs=l("\u9700\u8981 "),ts={href:"https://github.com/WindySha/xposed-hook-based-on-whale",target:"_blank",rel:"noopener noreferrer"},is=l("xposed-hook-based-on-whale"),ps={href:"https://github.com/PAGalaxyLab/YAHFA",target:"_blank",rel:"noopener noreferrer"},ds=l("YAHFA"),As=s("td",null,"\u2757",-1),ys=s("td",null,"\u9700\u8981\u81EA\u884C\u5B9E\u73B0 Xposed API",-1),us={href:"https://github.com/turing-technician/FastHook",target:"_blank",rel:"noopener noreferrer"},Ds=l("FastHook"),ms=s("td",null,"\u2757",-1),Cs=s("td",null,"\u9700\u8981\u81EA\u884C\u5B9E\u73B0 Xposed API",-1),hs={href:"https://github.com/tiann/epic",target:"_blank",rel:"noopener noreferrer"},Bs=l("Epic"),_s=s("td",null,"\u2757",-1),bs=l("\u9700\u8981\u81EA\u884C\u5BF9\u63A5 "),vs={href:"https://github.com/alibaba/dexposed",target:"_blank",rel:"noopener noreferrer"},Fs=l("Dexposed"),ks={href:"https://github.com/taichi-framework/TaiChi",target:"_blank",rel:"noopener noreferrer"},fs=l("TaiChi"),gs=s("td",null,"\u2B55",-1),Hs=s("td",null,"\u53EF\u4EE5\u4F5C\u4E3A\u6A21\u5757\u4F7F\u7528",-1),Ps={href:"https://github.com/rovo89/Xposed",target:"_blank",rel:"noopener noreferrer"},Is=l("Xposed"),Xs=s("td",null,"\u2B55",-1),Ys=s("td",null,"\u5EFA\u8BAE\u6700\u4F4E\u7CFB\u7EDF\u7248\u672C\u4E3A Android 7.0",-1);function xs(Rs,ws){const n=o("ExternalLinkIcon"),c=o("CodeGroupItem"),t=o("CodeGroup");return p(),d("div",null,[y,u,D,m,s("p",null,[C,s("a",h,[B,e(n)]),_]),s("p",null,[b,s("a",v,[F,e(n)]),k]),f,s("p",null,[g,s("a",H,[P,e(n)]),I]),X,e(t,null,{default:a(()=>[e(c,{title:"Yuki Hook API"},{default:a(()=>[Y]),_:1}),e(c,{title:"Xposed API"},{default:a(()=>[x]),_:1})]),_:1}),R,w,M,L,s("table",null,[j,s("tbody",null,[s("tr",null,[s("td",null,[s("a",S,[E,e(n)])]),K,T]),s("tr",null,[s("td",null,[s("a",N,[G,e(n)])]),V,W]),s("tr",null,[s("td",null,[s("a",Z,[q,e(n)])]),J,z]),s("tr",null,[s("td",null,[s("a",O,[Q,e(n)])]),U,$]),s("tr",null,[s("td",null,[s("a",ss,[ls,e(n)])]),es,ns]),s("tr",null,[s("td",null,[s("a",os,[as,e(n)])]),cs,s("td",null,[rs,s("a",ts,[is,e(n)])])]),s("tr",null,[s("td",null,[s("a",ps,[ds,e(n)])]),As,ys]),s("tr",null,[s("td",null,[s("a",us,[Ds,e(n)])]),ms,Cs]),s("tr",null,[s("td",null,[s("a",hs,[Bs,e(n)])]),_s,s("td",null,[bs,s("a",vs,[Fs,e(n)])])]),s("tr",null,[s("td",null,[s("a",ks,[fs,e(n)])]),gs,Hs]),s("tr",null,[s("td",null,[s("a",Ps,[Is,e(n)])]),Xs,Ys])])])])}const Ls=i(A,[["render",xs],["__file","home.html.vue"]]);export{Ls as default};
