mirror of
https://github.com/HighCapable/YukiHookAPI.git
synced 2025-09-04 09:45:19 +08:00
14 lines
11 KiB
JavaScript
14 lines
11 KiB
JavaScript
import{_ as a,r as t,o as r,c as p,b as o,d as n,a as l,e}from"./app.99fcdd51.js";const d={},c=l(`<h1 id="\u57FA\u7840\u77E5\u8BC6" tabindex="-1"><a class="header-anchor" href="#\u57FA\u7840\u77E5\u8BC6" aria-hidden="true">#</a> \u57FA\u7840\u77E5\u8BC6</h1><blockquote><p>\u8FD9\u91CC\u6536\u96C6\u4E86 Xposed \u76F8\u5173\u7684\u4ECB\u7ECD\u4EE5\u53CA\u5F00\u542F\u524D\u9700\u8981\u638C\u63E1\u7684\u77E5\u8BC6\u8981\u70B9\uFF0C\u5DF2\u7ECF\u4E86\u89E3\u7684\u540C\u5B66\u53EF\u4EE5\u7565\u8FC7\u3002</p></blockquote><p>\u57FA\u7840\u77E5\u8BC6\u5185\u5BB9<u><strong>\u5E76\u4E0D\u4E00\u5B9A\u5B8C\u5168\u51C6\u786E</strong></u>\uFF0C\u8BF7\u6839\u636E\u81EA\u5DF1\u7684\u89C1\u89E3\u914C\u60C5\u9605\u8BFB\uFF0C\u82E5\u53D1\u73B0\u5185\u5BB9<strong>\u6709\u9519\u8BEF\u6B22\u8FCE\u6307\u6B63\u5E76\u5E2E\u52A9\u6211\u4EEC\u5B8C\u5584\u548C\u6539\u8FDB</strong>\u3002</p><h2 id="\u76F8\u5173\u4ECB\u7ECD" tabindex="-1"><a class="header-anchor" href="#\u76F8\u5173\u4ECB\u7ECD" aria-hidden="true">#</a> \u76F8\u5173\u4ECB\u7ECD</h2><blockquote><p>\u8FD9\u91CC\u4ECB\u7ECD\u4E86 Xposed \u4EE5\u53CA Hook \u7684\u5DE5\u4F5C\u539F\u7406\u3002</p></blockquote><h3 id="xposed-\u662F\u4EC0\u4E48" tabindex="-1"><a class="header-anchor" href="#xposed-\u662F\u4EC0\u4E48" aria-hidden="true">#</a> Xposed \u662F\u4EC0\u4E48</h3><blockquote><p>Xposed \u6846\u67B6(Xposed Framework)\u662F\u4E00\u5957\u5F00\u6E90\u7684\u3001\u5728 Android \u9AD8\u6743\u9650\u6A21\u5F0F\u4E0B\u8FD0\u884C\u7684\u6846\u67B6\u670D\u52A1\uFF0C\u53EF\u4EE5\u5728\u4E0D\u4FEE\u6539 APK \u6587\u4EF6\u7684\u60C5\u51B5\u4E0B\u5F71\u54CD\u7A0B\u5E8F\u8FD0\u884C\uFF08\u4FEE\u6539\u7CFB\u7EDF\uFF09\u7684\u6846\u67B6\u670D\u52A1\uFF0C\u57FA\u4E8E\u5B83\u53EF\u4EE5\u5236\u4F5C\u51FA\u8BB8\u591A\u529F\u80FD\u5F3A\u5927\u7684\u6A21\u5757\uFF0C\u4E14\u5728\u529F\u80FD\u4E0D\u51B2\u7A81\u7684\u60C5\u51B5\u4E0B\u540C\u65F6\u8FD0\u4F5C\u3002</p></blockquote><p>\u4E0A\u8FF0\u5185\u5BB9\u590D\u5236\u81EA\u767E\u5EA6\u767E\u79D1\u3002</p><h3 id="xposed-\u80FD\u505A\u4EC0\u4E48" tabindex="-1"><a class="header-anchor" href="#xposed-\u80FD\u505A\u4EC0\u4E48" aria-hidden="true">#</a> Xposed \u80FD\u505A\u4EC0\u4E48</h3><blockquote><p>\u4E0B\u65B9\u7684\u7ED3\u6784\u63CF\u8FF0\u4E86 Xposed \u7684\u57FA\u672C\u5DE5\u4F5C\u65B9\u5F0F\u548C\u539F\u7406\u3002</p></blockquote><div class="language-text ext-text"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#adbac7;">Xposed Framework</span></span>
|
|
<span class="line"><span style="color:#adbac7;">\u2514\u2500\u2500 App's Environment</span></span>
|
|
<span class="line"><span style="color:#adbac7;"> \u2514\u2500\u2500 Hooker (Hooked)</span></span>
|
|
<span class="line"><span style="color:#adbac7;"> ...</span></span>
|
|
<span class="line"><span style="color:#adbac7;"> App's Environment</span></span>
|
|
<span class="line"><span style="color:#adbac7;"> \u2514\u2500\u2500 Hooker (Hooked)</span></span>
|
|
<span class="line"><span style="color:#adbac7;"> ...</span></span>
|
|
<span class="line"><span style="color:#adbac7;"> ...</span></span>
|
|
<span class="line"><span style="color:#adbac7;"></span></span></code></pre></div><p>\u6211\u4EEC\u53EF\u4EE5\u5728\u5BBF\u4E3B (APP) \u8FD0\u884C\u65F6\u901A\u8FC7\u6CE8\u5165\u5BBF\u4E3B (APP) \u6765\u8FBE\u5230\u63A7\u5236\u5176\u884C\u4E3A\u7684\u6700\u7EC8\u76EE\u7684\u3002</p><p>Xposed \u7684\u8FD9\u79CD\u8FD0\u884C\u65B9\u5F0F\u88AB\u79F0\u4E3A<strong>\u5BC4\u751F</strong>\uFF0CXposed \u6A21\u5757\u8DDF\u968F\u5BBF\u4E3B\u7684\u751F\u547D\u5468\u671F\uFF0C\u5728\u5BBF\u4E3B\u7684\u751F\u547D\u5468\u671F\u5185\u5B8C\u6210\u81EA\u5DF1\u7684\u751F\u547D\u5386\u7A0B\u3002</p><p>\u6211\u4EEC\u53EF\u4EE5\u901A\u8FC7\u53CD\u5C04\u7684\u65B9\u5F0F\u8C03\u7528\u5BBF\u4E3B\u7684\u65B9\u6CD5\u3001\u53D8\u91CF\u3001\u6784\u9020\u65B9\u6CD5\uFF0C\u4EE5\u53CA\u4F7F\u7528 <code>XposedBridge</code> \u6240\u63D0\u4F9B\u7684 Hook \u64CD\u4F5C\u52A8\u6001\u5730\u5728\u5BBF\u4E3B (APP) \u8981\u6267\u884C\u7684\u65B9\u6CD5\u524D\u540E\u63D2\u5165\u81EA\u5DF1\u7684\u4EE3\u7801\uFF0C\u6216\u5B8C\u5168\u66FF\u6362\u76EE\u6807\uFF0C\u751A\u81F3\u662F\u62E6\u622A\u3002</p><h3 id="\u53D1\u5C55\u8FC7\u7A0B" tabindex="-1"><a class="header-anchor" href="#\u53D1\u5C55\u8FC7\u7A0B" aria-hidden="true">#</a> \u53D1\u5C55\u8FC7\u7A0B</h3><p>\u5982\u4ECA\u7684 Xposed \u7BA1\u7406\u5668\u5DF2\u5B8C\u5168\u88AB\u5176\u884D\u751F\u4F5C\u54C1\u66FF\u4EE3\uFF0C\u800C <strong>SuperSU</strong> \u7684\u65F6\u4EE3\u4E5F\u5DF2\u7ECF\u843D\u5E55\u4E86\uFF0C\u73B0\u5728\uFF0C\u501F\u52A9 <strong>Magisk</strong> \u4F7F\u540E\u9762\u7684\u4E00\u5207\u53C8\u6210\u4E3A\u4E86\u53EF\u80FD\u3002</p><blockquote><p>\u5176\u53D1\u5C55\u53F2\u5927\u81F4\u53EF\u5206\u4E3A <strong>Xposed(Dalvik)</strong> \u2192 <strong>Xposed(ART)</strong> \u2192 <strong>Xposed(Magisk)</strong> \u2192 <strong>EdXposed(Riru)</strong>/<strong>LSPosed(Riru/Zygisk)</strong></p></blockquote><h3 id="\u884D\u751F\u4EA7\u54C1" tabindex="-1"><a class="header-anchor" href="#\u884D\u751F\u4EA7\u54C1" aria-hidden="true">#</a> \u884D\u751F\u4EA7\u54C1</h3><blockquote><p>\u4E0B\u65B9\u7684\u7ED3\u6784\u63CF\u8FF0\u4E86\u7C7B\u4F3C Xposed \u7684 Hook Framework \u7684\u5DE5\u4F5C\u65B9\u5F0F\u548C\u539F\u7406\u3002</p></blockquote><div class="language-text ext-text"><pre class="shiki" style="background-color:#22272e;"><code><span class="line"><span style="color:#adbac7;">App's Environment</span></span>
|
|
<span class="line"><span style="color:#adbac7;">\u2514\u2500\u2500 Hook Framework</span></span>
|
|
<span class="line"><span style="color:#adbac7;"> \u2514\u2500\u2500 Hooker (Hooked)</span></span>
|
|
<span class="line"><span style="color:#adbac7;"> ...</span></span>
|
|
<span class="line"><span style="color:#adbac7;"></span></span></code></pre></div><p>\u901A\u8FC7 Xposed \u7684\u8FD0\u884C\u539F\u7406\uFF0C\u4ECE\u800C\u884D\u751F\u4E86\u5F88\u591A\u540C\u7C7B\u578B\u6846\u67B6\uFF0C\u968F\u7740\u5F53\u4ECA\u65F6\u4EE3\u7684\u79FB\u52A8\u8BBE\u5907\u83B7\u53D6 Root \u6743\u9650\u751A\u81F3\u5237\u673A\u8D8A\u6765\u8D8A\u56F0\u96BE\u4E14\u4E0D\u662F\u521A\u9700\u7684\u65F6\u5019\uFF0C\u4E00\u4E9B\u514D Root \u6846\u67B6\u4E5F\u968F\u4E4B\u4EA7\u751F\uFF0C\u4F8B\u5982<strong>\u592A\u6781</strong>\u3002</p><p>\u8FD9\u4E9B\u5728 ART \u5C42\u9762\u4E0A\u7684 Hook \u6846\u67B6\u540C\u6837\u4E5F\u53EF\u4E0D\u501F\u52A9 Xposed API \u5B8C\u6210\u5176\u548C Xposed \u539F\u7406\u4E00\u6837\u7684 Hook \u6D41\u7A0B\uFF0C\u514D Root \u7684\u8FD0\u884C\u539F\u7406\u4E3A\u4FEE\u6539 APK \u5E76\u5C06 Hook \u8FDB\u7A0B\u6CE8\u5165\u5BBF\u4E3B\uFF0C\u901A\u8FC7\u5916\u90E8\u6A21\u5757\u5BF9\u5176\u8FDB\u884C\u63A7\u5236\u3002</p><p>\u53E6\u5916\u4E00\u79CD\u4EA7\u54C1\u5C31\u662F\u5229\u7528 Android \u8FD0\u884C\u73AF\u5883\u73B0\u6709\u7684\u529F\u80FD\u865A\u62DF\u51FA\u4E00\u4E2A\u5B8C\u5168\u4E0E\u5F53\u524D\u8BBE\u5907\u7CFB\u7EDF\u4E00\u6837\u7684\u73AF\u5883\uFF0C\u5E76\u5728\u5176\u4E2D\u8FD0\u884C APP\uFF0C\u8FD9\u4E2A\u5C31\u662F\u865A\u62DF APP \u6280\u672F <strong>VirtualApp</strong>\uFF0C\u540E\u6765\u884D\u751F\u4E3A <strong>VirtualXposed</strong>\u3002</p><p>\u4E0A\u8FF0\u63D0\u5230\u7684\u514D Root \u6846\u67B6\u5206\u522B\u4E3A<strong>\u592A\u6781/\u65E0\u6781</strong>\u3001<strong>VirtualXposed/SandVXposed</strong>\u3002</p><h3 id="yukihookapi-\u505A\u4E86\u4EC0\u4E48" tabindex="-1"><a class="header-anchor" href="#yukihookapi-\u505A\u4E86\u4EC0\u4E48" aria-hidden="true">#</a> YukiHookAPI \u505A\u4E86\u4EC0\u4E48</h3><p>\u81EA\u4ECE Xposed \u51FA\u73B0\u5230\u73B0\u5728\u4E3A\u6B62\uFF0C\u9664\u4E86\u5F00\u53D1\u8005\u4EBA\u4EBA\u7686\u77E5\u7684 <code>XposedHelpers</code>\uFF0C\u4F9D\u7136\u6CA1\u6709\u4E00\u5957\u9488\u5BF9 <code>Kotlin</code> \u6253\u9020\u7684\u8BED\u6CD5\u7CD6\u4EE5\u53CA\u7528\u6CD5\u5C01\u88C5\u5341\u5206\u5B8C\u5584\u7684 API\u3002</p><p>\u672C API \u6846\u67B6\u7684\u8BDE\u751F\u5C31\u662F\u5E0C\u671B\u5728 Xposed \u7684\u5982\u4ECA\u65F6\u4EE3\uFF0C\u80FD\u8BA9\u66F4\u591A\u6709\u52A8\u624B\u80FD\u529B\u7684 Xposed \u6A21\u5757\u5F00\u53D1\u8005\u5C11\u8D70\u5F2F\u8DEF\uFF0C\u66F4\u5BB9\u6613\u3001\u66F4\u7B80\u5355\u5730\u5B8C\u6210\u6574\u4E2A\u5F00\u53D1\u6D41\u7A0B\u3002</p><p>\u672A\u6765\uFF0C<code>YukiHookAPI</code> \u5C06\u5728\u4F7F\u7528 Xposed API \u7684\u76EE\u6807\u57FA\u7840\u4E0A\u9002\u914D\u66F4\u591A\u7B2C\u4E09\u65B9 Hook \u6846\u67B6\uFF0C\u4F7F\u5F97\u6574\u4E2A\u751F\u6001\u5F97\u5230\u5B8C\u5584\uFF0C\u5E76\u5E2E\u52A9\u66F4\u591A\u5F00\u53D1\u8005\u8BA9 Xposed \u6A21\u5757\u5F00\u53D1\u53D8\u5F97\u66F4\u52A0\u7B80\u5355\u548C\u6613\u61C2\u3002</p><h2 id="\u8BA9\u6211\u4EEC\u5F00\u59CB\u5427" tabindex="-1"><a class="header-anchor" href="#\u8BA9\u6211\u4EEC\u5F00\u59CB\u5427" aria-hidden="true">#</a> \u8BA9\u6211\u4EEC\u5F00\u59CB\u5427</h2><p>\u5728\u5F00\u59CB\u4E4B\u524D\uFF0C\u4F60\u9700\u8981\u62E5\u6709\u4EE5\u4E0B\u57FA\u7840\u624D\u80FD\u66F4\u597D\u5730\u4F7F\u7528 <code>YukiHookAPI</code>\u3002</p>`,30),i=o("li",null,[o("p",null,"\u638C\u63E1\u5E76\u4E86\u89E3 Android \u5F00\u53D1\u53CA\u7B80\u5355\u7684\u7CFB\u7EDF\u8FD0\u884C\u539F\u7406")],-1),h=e("\u638C\u63E1\u5E76\u4E86\u89E3 Android APK \u5185\u90E8\u7ED3\u6784\u4EE5\u53CA\u7B80\u5355\u7684\u53CD\u7F16\u8BD1\u77E5\u8BC6\u8981\u9886\uFF0C\u53EF\u53C2\u8003 "),k={href:"https://github.com/skylot/jadx",target:"_blank",rel:"noopener noreferrer"},_=e("Jadx"),u=e(" \u4E0E "),g={href:"https://github.com/iBotPeaches/Apktool",target:"_blank",rel:"noopener noreferrer"},b=e("ApkTool"),A=o("li",null,[o("p",null,"\u638C\u63E1\u5E76\u719F\u7EC3\u4F7F\u7528 Java \u53CD\u5C04\uFF0C\u4E86\u89E3\u7B80\u5355\u7684 Smali \u8BED\u6CD5\uFF0C\u4E86\u89E3 DEX \u6587\u4EF6\u7ED3\u6784\uFF0C\u4F1A\u4F7F\u7528\u9006\u5411\u5206\u6790\u5B9A\u4F4D\u65B9\u6CD5\u4F4D\u7F6E")],-1),X=e("\u638C\u63E1\u57FA\u7840\u7684\u539F\u751F "),x={href:"https://api.xposed.info",target:"_blank",rel:"noopener noreferrer"},f=e("Xposed API"),P=e(" \u7528\u6CD5\uFF0C\u4E86\u89E3 Xposed \u7684\u8FD0\u884C\u539F\u7406\uFF0C\u53EF\u53C2\u8003\u672C\u6587\u4EE5\u53CA "),E={href:"https://blog.ketal.icu/cn/Xposed%E6%A8%A1%E5%9D%97%E5%BC%80%E5%8F%91%E5%85%A5%E9%97%A8%E4%BF%9D%E5%A7%86%E7%BA%A7%E6%95%99%E7%A8%8B/",target:"_blank",rel:"noopener noreferrer"},m=e("\u8FD9\u91CC"),y=e(),H=o("strong",null,"(\u53CB\u60C5\u94FE\u63A5)",-1),v=e("\u638C\u63E1 Kotlin \u8BED\u8A00\uFF0C\u5B66\u4F1A\u7075\u6D3B\u8FD0\u7528 "),q={href:"https://blog.ketal.icu/cn/kotlin-lambda%E5%85%A5%E9%97%A8/",target:"_blank",rel:"noopener noreferrer"},I=e("Kotlin lambda"),B=e(),K=o("strong",null,"(\u53CB\u60C5\u94FE\u63A5)",-1),R=o("li",null,[o("p",null,"\u638C\u63E1\u5E76\u4E86\u89E3 Kotlin \u4E0E Java \u6DF7\u7F16\u3001\u4E92\u76F8\u8C03\u7528\u4EE5\u53CA Kotlin \u751F\u6210\u7684 Java \u5B57\u8282\u7801")],-1);function V(w,F){const s=t("ExternalLinkIcon");return r(),p("div",null,[c,o("ul",null,[i,o("li",null,[o("p",null,[h,o("a",k,[_,n(s)]),u,o("a",g,[b,n(s)])])]),A,o("li",null,[o("p",null,[X,o("a",x,[f,n(s)]),P,o("a",E,[m,n(s)]),y,H])]),o("li",null,[o("p",null,[v,o("a",q,[I,n(s)]),B,K])]),R])])}const D=a(d,[["render",V],["__file","knowledge.html.vue"]]);export{D as default};
|