1 2 3<!DOCTYPE html> 4<html lang="zh-CN" data-default-color-scheme=dark> 5 6 7 8<head> 9 <meta charset="UTF-8"> 10 11 <link rel="apple-touch-icon" sizes="76x76" href="/img/Blog_Saturn.png"> 12 <link rel="icon" href="/img/Blog_Saturn.png"> 13 14 <link rel="canonical" href="https://kekkj123.github.io/posts/Tools/LSPatch-demo/"/> 15 16 17 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, shrink-to-fit=no"> 18 <meta http-equiv="x-ua-compatible" content="ie=edge"> 19 20 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 21 22 <meta name="theme-color" content="#2f4154"> 23 <meta name="author" content="KEKKJ"> 24 <meta name="keywords" content="KEKKJ"> 25 26 <meta name="description" content="åä¸äºé¨åè½¯ä»¶å¹¿åæ»¡å¤©é£ï¼ è¦äºä¸è½ Root æ æ³å®è£ LSPosedï¼ ç°å¨æä»¬æå Root ç LSPatchï¼ æ¬æç¨å°ä»¥ QQ 为ä¾ï¼æ¼ç¤ºå®è£ 模åçæ¹æ³ï¼ 注æï¼QQ æé£æ§æºå¶ï¼å¨å°è¯å请èªè¡è¯ä¼°ï¼æ°æ®æ ä»·ï¼ é¶ãå®è£ åé¡»ç¥ åªæ .apk æ ¼å¼ç模åå¯ä»¥è¢«éæè¿ç®æ è½¯ä»¶ã æ 论æ¯åªç§ä¿®è¡¥æ¨¡å¼ï¼å®è£ å é½ä¸åå çç¾åä¸åï¼æ å¿ é¡»å¸è½½åå ç软件ã ç±äºå¿ é¡»å¸è½½åå®è£ ï¼è¯·æ³¨æå¤ä»½æ°æ®"> 27 28 29 30 <title>LSPatch å Root å®è£ 模å - KEKKJ BLOG - å°ä¸ççä¸ç¥</title> 31 32 <link rel="stylesheet" href="https://lib.baomitu.com/twitter-bootstrap/4.6.1/css/bootstrap.min.css" /> 33 34 35 36 <link rel="stylesheet" href="https://lib.baomitu.com/github-markdown-css/4.0.0/github-markdown.min.css" /> 37 38 <link rel="stylesheet" href="https://lib.baomitu.com/hint.css/2.7.0/hint.min.css" /> 39 40 <link rel="stylesheet" href="https://lib.baomitu.com/fancybox/3.5.7/jquery.fancybox.min.css" /> 41 42 43 44<!-- 主é¢ä¾èµç徿 åºï¼ä¸è¦èªè¡ä¿®æ¹ --> 45<!-- Do not modify the link that theme dependent icons --> 46 47<link rel="stylesheet" href="//at.alicdn.com/t/c/font_1749284_5i9bdhy70f8.css"> 48 49 50 51<link rel="stylesheet" href="//at.alicdn.com/t/c/font_1736178_k526ubmyhba.css"> 52 53 54<link rel="stylesheet" href="/css/main.css" /> 55 56 57 <link id="highlight-css" rel="stylesheet" href="/css/highlight.css" /> 58 59 <link id="highlight-css-dark" rel="stylesheet" href="/css/highlight-dark.css" /> 60 61 62 63 64 65<link rel="stylesheet" href="/icon-font-css/travelling/iconfont.css"> 66 67 68 69
69<script id="fluid-configs"> 70 var Fluid = window.Fluid || {}; 71 Fluid.ctx = Object.assign({}, Fluid.ctx) 72 var CONFIG = {"hostname":"kekkj123.github.io","root":"/","version":"1.9.8","typing":{"enable":true,"typeSpeed":50,"cursorChar":"_","loop":false,"scope":"home"},"anchorjs":{"enable":true,"element":"h1,h2,h3,h4,h5,h6","placement":"left","visible":"hover","icon":"#"},"progressbar":{"enable":true,"height_px":3,"color":"#29d","options":{"showSpinner":false,"trickleSpeed":100}},"code_language":{"enable":true,"default":"TEXT"},"copy_btn":true,"image_caption":{"enable":true},"image_zoom":{"enable":true,"img_url_replace":["",""]},"toc":{"enable":true,"placement":"right","headingSelector":"h1,h2,h3,h4,h5,h6","collapseDepth":1},"lazyload":{"enable":true,"loading_img":"/img/loading.gif","onlypost":false,"offset_factor":2},"web_analytics":{"enable":true,"follow_dnt":true,"baidu":null,"google":{"measurement_id":"G-9E1Z9RDTPM"},"tencent":{"sid":null,"cid":null},"leancloud":{"app_id":"ZQprfmfI0LYS9JMbW9dfSh7S-gzGzoHsz","app_key":"LPar9cIawJj3p5BljrrEYtOC","server_url":"https://zqprfmfi.lc-cn-n1-shared.com","path":"window.location.pathname","ignore_local":true},"umami":{"src":null,"website_id":null,"domains":null,"start_time":"2024-08-12T00:00:00.000Z","token":null,"api_server":null}},"search_path":"/local-search.xml","include_content_in_search":true}; 73 74 if (CONFIG.web_analytics.follow_dnt) { 75 var dntVal = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack; 76 Fluid.ctx.dnt = dntVal && (dntVal.startsWith('1') || dntVal.startsWith('yes') || dntVal.startsWith('on')); 77 } 78 </script>
78 79
79<script src="/js/utils.js" ></script>
79 80
80<script src="/js/color-schema.js" ></script>
80 81 82 83 84 85 86 <!-- Google tag (gtag.js) --> 87
87<script async> 88 if (!Fluid.ctx.dnt) { 89 Fluid.utils.createScript("https://www.googletagmanager.com/gtag/js?id=G-9E1Z9RDTPM", function() { 90
vendor: 182 bytes, lines 90-95
90window.dataLayer = window.dataLayer || []; 91 function gtag() { 92 dataLayer.push(arguments); 93 } 94 gtag('js', new Date()); 95 gtag('config', '
95G-9E1Z9RDTPM
vendor: 12 bytes, lines 95-96
95'); 96
96}); 97 } 98 </script>
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112<meta name="generator" content="Hexo 7.3.0"><link rel="alternate" href="/RSS_atom.xml" title="KEKKJ BLOG - å°ä¸ççä¸ç¥" type="application/atom+xml"> 113</head> 114 115 116<body> 117 118 119 <header> 120 121 122<div class="header-inner" style="height: 70vh;"> 123 <nav id="navbar" class="navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar"> 124 <div class="container"> 125 <a class="navbar-brand" href="/"> 126 <strong>KEKKJ BLOG</strong> 127 </a> 128 129 <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse" 130 data-target="#navbarSupportedContent" 131 aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> 132 <div class="animated-icon"><span></span><span></span><span></span></div> 133 </button> 134 135 <!-- Collapsible content --> 136 <div class="collapse navbar-collapse" id="navbarSupportedContent"> 137 <ul class="navbar-nav ml-auto text-center"> 138 139 140 141 142 143 <li class="nav-item"> 144 <a class="nav-link" href="/categories/%E9%9A%8F%E7%BC%98%E6%89%8B%E8%AE%B0/" target="_self"> 145 <i class="iconfont icon-home-fill"></i> 146 <span>æè®°</span> 147 </a> 148 </li> 149 150 151 152 153 154 155 <li class="nav-item dropdown"> 156 <a class="nav-link dropdown-toggle" target="_self" href="javascript:;" role="button" 157 data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 158 <i class="iconfont icon-books"></i> 159 <span>ç®å½</span> 160 </a> 161 <div class="dropdown-menu" aria-labelledby="navbarDropdown"> 162 163 164 165 166 <a class="dropdown-item" href="/archives/" target="_self"> 167 <i class="iconfont icon-archive-fill"></i> 168 <span>彿¡£</span> 169 </a> 170 171 172 173 174 <a class="dropdown-item" href="/categories/" target="_self"> 175 <i class="iconfont icon-category-fill"></i> 176 <span>åç±»</span> 177 </a> 178 179 180 181 182 <a class="dropdown-item" href="/Temporary_Storage/" target="_self"> 183 <i class="iconfont icon-bookmark"></i> 184 <span>书ç¾</span> 185 </a> 186 187 </div> 188 </li> 189 190 191 192 193 194 195 <li class="nav-item"> 196 <a class="nav-link" href="/links/" target="_self"> 197 <i class="iconfont icon-link-fill"></i> 198 <span>åé¾</span> 199 </a> 200 </li> 201 202 203 204 205 206 207 <li class="nav-item"> 208 <a class="nav-link" href="https://www.travellings.cn/go.html" target="_self"> 209 <i class="iconfont icon-travelling"></i> 210 <span>å¼å¾</span> 211 </a> 212 </li> 213 214 215 216 217 218 219 <li class="nav-item"> 220 <a class="nav-link" href="/about/" target="_self"> 221 <i class="iconfont icon-user-fill"></i> 222 <span>å ³äº</span> 223 </a> 224 </li> 225 226 227 228 229 230 231 <li class="nav-item"> 232 <a class="nav-link" href="/RSS_atom.xml" target="_self"> 233 <i class="iconfont icon-rss-fill"></i> 234 <span></span> 235 </a> 236 </li> 237 238 239 240 <li class="nav-item" id="search-btn"> 241 <a class="nav-link" target="_self" href="javascript:;" data-toggle="modal" data-target="#modalSearch" aria-label="Search"> 242 <i class="iconfont icon-search"></i> 243 </a> 244 </li> 245 246 247 248 <li class="nav-item" id="color-toggle-btn"> 249 <a class="nav-link" target="_self" href="javascript:;" aria-label="Color Toggle"> 250 <i class="iconfont icon-dark" id="color-toggle-icon"></i> 251 </a> 252 </li> 253 254 </ul> 255 </div> 256 </div> 257</nav> 258 259 260 261<div id="banner" class="banner" parallax=true 262 style="background: url('/img/ApolloSoyuz.png') no-repeat center center; background-size: cover;"> 263 <div class="full-bg-img"> 264 <div class="mask flex-center" style="background-color: rgba(0, 0, 0, 0.3)"> 265 <div class="banner-text text-center fade-in-up"> 266 <div class="h2"> 267
268 <span id="subtitle">LSPatch å Root å®è£ 模å</span> 269 270 </div> 271 272 273 274 <div class="mt-3"> 275 276 <span class="post-meta mr-2"> 277 <i class="iconfont icon-author" aria-hidden="true"></i> 278 KEKKJ 279 </span> 280 281 282 <span class="post-meta"> 283 <i class="iconfont icon-date-fill" aria-hidden="true"></i> 284 <time datetime="2026-09-25 14:59" pubdate> 285 2026å¹´9æ25æ¥ ä¸å 286 </time> 287 </span> 288 289 </div> 290 291 <div class="mt-1"> 292 293 <span class="post-meta mr-2"> 294 <i class="iconfont icon-chart"></i> 295 296 829 å 297 298 </span> 299 300 301 302 <span class="post-meta mr-2"> 303 <i class="iconfont icon-clock-fill"></i> 304 305 306 307 6 åé 308 309 </span> 310 311 312 313 314 315 <span id="leancloud-page-views-container" class="post-meta" style="display: none"> 316 <i class="iconfont icon-eye" aria-hidden="true"></i> 317 <span id="leancloud-page-views"></span> é 读 318 </span> 319 320 321 322 323 </div> 324 325 326 327 </div> 328 329 330 </div> 331 </div> 332</div> 333 334</div> 335 336 </header> 337 338 <main> 339 340 341 342<div class="container-fluid nopadding-x"> 343 <div class="row nomargin-x"> 344 <div class="side-col d-none d-lg-block col-lg-2"> 345 346 <aside class="sidebar category-bar" style="margin-right: -1rem"> 347 348 349 350 351 352 353<div class="category-list"> 354 355 356 357 358 359 <div class="category row nomargin-x"> 360 <a class="category-item 361 list-group-item category-item-action col-10 col-md-11 col-xm-11" title="Tool" 362 id="heading-d421fd439cd14456726791338b3b397e" role="tab" data-toggle="collapse" href="#collapse-d421fd439cd14456726791338b3b397e" 363 aria-expanded="true" 364 > 365 Tool 366 <span class="list-group-count">(7)</span> 367 <i class="iconfont icon-arrowright"></i> 368 </a> 369 370 <div class="category-collapse collapse show" id="collapse-d421fd439cd14456726791338b3b397e" 371 role="tabpanel" aria-labelledby="heading-d421fd439cd14456726791338b3b397e"> 372 373 374 375 <div class="category-post-list"> 376 377 378 379 380 <a href="/posts/webs/" title="å®ç¨ç½ç«åå·¥å ·èªå" 381 class="list-group-item list-group-item-action 382 "> 383 <span class="category-post">å®ç¨ç½ç«åå·¥å ·èªå</span> 384 </a> 385 386 387 388 389 <a href="/posts/Tools/skipad/" title="跳广å软件æ¨è" 390 class="list-group-item list-group-item-action 391 "> 392 <span class="category-post">跳广å软件æ¨è</span> 393 </a> 394 395 396 397 398 <a href="/posts/Tools/remove-winntsetup-cmd-context-menu/" title="åé WinNTSetup ä¿®æ¹ cmd å³é®èå" 399 class="list-group-item list-group-item-action 400 "> 401 <span class="category-post">åé WinNTSetup ä¿®æ¹ cmd å³é®èå</span> 402 </a> 403 404 405 406 407 <a href="/posts/Tools/android-app-version-rollback/" title="å®å软件é级æå" 408 class="list-group-item list-group-item-action 409 "> 410 <span class="category-post">å®å软件é级æå</span> 411 </a> 412 413 414 415 416 <a href="/posts/Tools/bite-sized-tweaks/" title="ç平快ç设置ä¼ååé" 417 class="list-group-item list-group-item-action 418 "> 419 <span class="category-post">ç平快ç设置ä¼ååé</span> 420 </a> 421 422 423 424 425 <a href="/posts/Tools/k60pro-devlog/" title="K60P ææºæ¥å¿" 426 class="list-group-item list-group-item-action 427 "> 428 <span class="category-post">K60P ææºæ¥å¿</span> 429 </a> 430 431 432 433 434 <a href="/posts/Tools/LSPatch-demo/" title="LSPatch å Root å®è£ 模å" 435 class="list-group-item list-group-item-action 436 active"> 437 <span class="category-post">LSPatch å Root å®è£ 模å</span> 438 </a> 439 440 441 </div> 442 443 444 </div> 445 </div> 446 447</div> 448 449 450 </aside> 451 452 453 </div> 454 455 <div class="col-lg-8 nopadding-x-md"> 456 <div class="container nopadding-x-md" id="board-ctn"> 457 <div id="board"> 458 <article class="post-content mx-auto"> 459 <h1 id="seo-header">LSPatch å Root å®è£ 模å</h1> 460 461 <p id="updated-time" class="note note-info" style="display: none"> 462 463 464 æ¬ææåæ´æ°äº 2026-09-25T15:07:00+08
464:00 465 466 467 468 469 </p> 470 471 472 <div class="markdown-body"> 473 474 <blockquote> 475<p>åä¸äºé¨åè½¯ä»¶å¹¿åæ»¡å¤©é£ï¼</p> 476<p>è¦äºä¸è½ Root æ æ³å®è£ LSPosedï¼</p> 477<p>ç°å¨æä»¬æå Root ç LSPatchï¼</p> 478<p>æ¬æç¨å°ä»¥ QQ 为ä¾ï¼æ¼ç¤ºå®è£ 模åçæ¹æ³ï¼</p> 479</blockquote> 480<p>注æï¼QQ æé£æ§æºå¶ï¼å¨å°è¯å请èªè¡è¯ä¼°ï¼æ°æ®æ ä»·ï¼</p> 481<hr> 482<h2 id="é¶ãå®è£ åé¡»ç¥"><a href="#é¶ãå®è£ åé¡»ç¥" class="headerlink" title="é¶ãå®è£ åé¡»ç¥"></a>é¶ãå®è£ åé¡»ç¥</h2><ul> 483<li>åªæ <code>.apk</code> æ ¼å¼ç模åå¯ä»¥è¢«éæè¿ç®æ 软件ã</li> 484<li>æ 论æ¯åªç§ä¿®è¡¥æ¨¡å¼ï¼å®è£ å é½ä¸åå çç¾åä¸åï¼æ å¿ é¡»å¸è½½åå ç软件ã</li> 485<li>ç±äºå¿ é¡»å¸è½½åå®è£ ï¼è¯·æ³¨æå¤ä»½æ°æ®ï¼</li> 486<li><em>HarmonyOS NEXT</em> å <em>iOS</em> ç³»ç»æ æ³è¿è¡ <code>.apk</code>ï¼æ ä¸å ¼å®¹ï¼ä¸å¨æ¤ç¯è®¨è®ºèå´å ã</li> 487<li>
487å ¼å®¹å®åç鸿èçæ¬ç论å¯è¡ï¼å°æªæµè¯ã</li> 488<li>Shizuku 为å¯éç»ä»¶ï¼ç¨äºå®è£ apkã</li> 489</ul> 490<h2 id="ä¸ãä¸è½½ä¸å®è£ "><a href="#ä¸ãä¸è½½ä¸å®è£ " class="headerlink" title="ä¸ãä¸è½½ä¸å®è£ "></a>ä¸ãä¸è½½ä¸å®è£ </h2><p>ä¸è½½å¹¶å®è£ <a target="_blank" rel="noopener" href="https://github.com/JingMatrix/LSPatch/releases/latest">LSPatch</a>ã<a target="_blank" rel="noopener" href="https://github.com/cinit/QAuxiliary/releases/latest">QAuxiliary</a>ï¼åå¤ QQ å®è£ å ãè¿éä½è éæ©äº QQ 9.1.50 çæ¬ã</p> 491<p>æå¼ LSPatchï¼ç¹å»<strong>æ°å»ºä¿®è¡¥</strong>ï¼éæ©<strong>è¦ä¿®è¡¥çåºç¨</strong>ï¼ç¹å»å³ä¸è§çæä»¶å¾æ ï¼éæ© QQ å®è£ å ã</p> 492<p>è¥å·²å®è£ QQï¼åå¨<strong>è¦ä¿®è¡¥çåºç¨</strong>éæ© QQã</p> 493<h2 id="äºã修补模å¼"><a href="#äºã修补模å¼" class="headerlink" title="äºã修补模å¼"></a>äºã修补模å¼</h2><p>æ¬å°ï¼æ¨èï¼ï¼ç±»ä¼¼ LSPosed ç设置ï¼å¤ä¸ª Xposed 模åå¯ä»¥ä½ç¨å¨åä¸ä¸ªè½¯ä»¶ä¸ã</p> 494<p>
494éæï¼å°æ¨¡åéæè³ <code>.apk</code>ï¼å¯ä»¥ååï¼éèææä¹ç¸å¯¹æ´å¥½ã</p> 495<h3 id="æ¬å°æ¨¡å¼ï¼ç®¡ç卿¨¡å¼ï¼"><a href="#æ¬å°æ¨¡å¼ï¼ç®¡ç卿¨¡å¼ï¼" class="headerlink" title="æ¬å°æ¨¡å¼ï¼ç®¡ç卿¨¡å¼ï¼"></a>æ¬å°æ¨¡å¼ï¼ç®¡ç卿¨¡å¼ï¼</h3><ol> 496<li>修补模å¼éæ©<strong>æ¬å°</strong>ãæ éä¿®æ¹ä»»ä½é ç½®ã</li> 497<li>è¿è¡ä¿®è¡¥ï¼çå¾ è¾åºæä»¶ã</li> 498<li>å¯¼åº apkãéæ©ä¸ä¸ªè½è®°ä½çä½ç½®ã</li> 499<li>鿩坼åºåçæä»¶ï¼å®è£ ã<em>注æï¼é¨åææºä¼æ¥æ¯ï¼æ¾å¿å®è£ å³å¯ã</em></li> 500<li>å®è£ æååï¼éå¯ LSPatchã</li> 501<li>忬¡æå¼ LSPatchï¼æ¤æ¶å¯ä»¥çå°åºç¨æ æ¾ç¤º QQ ç徿 ã</li> 502<li>éæ© QQï¼å¾é QAuxiliaryï¼åºç¨ä¿®æ¹ã</li> 503<li>强å¶åæ¢ QQï¼éæ°æå¼å模åæä¼è¢«å è½½ã</li> 504</ol> 505<h3 id="éææ¨¡å¼ï¼åµå ¥-ä¾¿æºæ¨¡å¼ï¼"><a href="#éææ¨¡å¼ï¼åµå ¥-ä¾¿æºæ¨¡å¼ï¼" class="headerlink" title="éææ¨¡å¼ï¼åµå ¥/ä¾¿æºæ¨¡å¼ï¼"></a>éææ¨¡å¼ï¼åµå ¥/ä¾¿æºæ¨¡å¼ï¼</h3><ol> 506<li>修补模å¼éæ©<strong>éæ</strong>ãæ éä¿®æ¹ä»»ä½é ç½®ã</li> 507<li><strong>åµå ¥æ¨¡å</strong>æ éæ© QAuxiliaryï¼æ·»å æ¹å¼éå®è£ æ åµèå®ã</li> 508<li>è¿è¡ä¿®è¡¥ï¼çå¾ è¾åºæä»¶ã</li> 509<li>å¯¼åº apkãéæ©ä¸ä¸ªè½è®°ä½çä½ç½®ã</li> 510<li>鿩坼åºåçæä»¶ï¼å®è£ ã</li> 511</ol> 512<h3 id="éªè¯æ¨¡åçæ"><a href="#éªè¯æ¨¡åçæ" class="headerlink" title="éªè¯æ¨¡åçæ"></a>éªè¯æ¨¡åçæ</h3><p>QQ çæ¬ ⥠9.1.50 æ¶ï¼QQ èªå¸¦<strong>设置</strong>页éä¼åºç°Â QAuxiliary å ¥å£ã</p> 513<h2 id="ä¸ãæ¬å°æ¨¡å¼ä¸éææ¨¡å¼çåºå«"><a href="#ä¸ãæ¬å°æ¨¡å¼ä¸éææ¨¡å¼çåºå«" class="headerlink" title="ä¸ãæ¬å°æ¨¡å¼ä¸éææ¨¡å¼çåºå«"></a>ä¸ãæ¬å°æ¨¡å¼ä¸éææ¨¡å¼çåºå«</h2><table> 514<thead> 515<tr> 516<th></th> 517<th>æ¬å°æ¨¡å¼ï¼ç®¡ç卿¨¡å¼ï¼</th> 518<th>éææ¨¡å¼ï¼åµå ¥/ä¾¿æºæ¨¡å¼ï¼</th> 519</tr> 520</thead> 521<tbody><tr> 522<td>模åä½ç½®</td> 523<td>模åä½ä¸ºæ®é App åç¬å®è£ ï¼ä¸è½å¸è½½ï¼</td> 524<td>模ååµå ¥ä¿®è¡¥åç软件</td> 525</tr> 526<tr> 527<td>ä¾èµç®¡çå¨ï¼LSPatchï¼</td> 528<td>æ¯ï¼å¸è½½/å»ç»ç®¡çå¨ä¼å¯¼è´æ¨¡å失æï¼</td> 529<td>å¦</td> 530</tr> 531<tr> 532<td>æ´æ¹æ¨¡å</td> 533<td>LSP å ä¿®æ¹ï¼æ ééæ°ä¿®è¡¥</td> 534<td>å¿ é¡»éæ°ä¿®è¡¥åéè£ </td> 535</tr> 536<tr> 537<td>å级模å</td> 538<td>ç´æ¥è¦çå®è£ æ°ç模åï¼è½¯ä»¶æ éä¿®æ¹</td> 539<td>æ¯æ¬¡é½è¦éæ°ä¿®è¡¥è½¯ä»¶</td> 540</tr> 541<tr> 542<td>ææ¥é®é¢</td> 543<td>æï¼LSP çæ¡æ¶æ¥å¿</td> 544<td>æ </td> 545</tr> 546<tr> 547<td>模åè®¾ç½®å ¥å£</td> 548<td>模å软件å ï¼å 为ä¿çäºå ¶æ¬ä½ï¼</td> 549<td>åªè½å¨è½¯ä»¶å è¿</td> 550</tr> 551<tr> 552<td>åºç¨åè¡¨éææ 模åå å</td> 553<td>æï¼å¤ä¸ä¸ªæ´é²é¢ï¼</td> 554<td>æ ï¼ä½è¿è¡æ¶ hook ä»å¯è½è¢«æ£æµï¼</td> 555</tr> 556<tr> 557<td>ååç»å«äºº</td> 558<td>å¦</td> 559<td>æ¯</td> 560</tr> 561</tbody></table> 562<p>è¥ä¸æç®æ´æ°æ¨¡åï¼æåªå®è£ 忍¡åï¼å¹¶ä¸è¿½æ±é«éèææï¼å»ºè®®ä½¿ç¨<strong>éææ¨¡å¼</strong>ã</p> 563<p>妿ç»å¸¸æ´æ°æ¨¡åï¼ä¸å¨ä¸ä¸ªè½¯ä»¶å å®è£ äºå¤ä¸ªæ¨¡åï¼å建议使ç¨<strong>æ¬å°æ¨¡å¼</strong>ã</p> 564 565 566 </div> 567 568 <hr/> 569 <div> 570 <div class="post-metas my-3"> 571 572 <div class="post-meta mr-3 d-flex align-items-center"> 573 <i class="iconfont icon-category"></i> 574 575 576<span class="category-chains"> 577 578 579 580 <span class="category-chain"> 581 582 <a href="/categories/Tool/" class="category-chain-item">Tool</a> 583 584 585 586 </span> 587 588 589</span> 590 591 </div> 592 593 594 <div class="post-meta"> 595 <i class="iconfont icon-tags"></i> 596 597 <a href="/tags/Tutorial/" class="print-no-link">#Tutorial</a> 598 599 <a href="/tags/Android/" class="print-no-link">#Android</a> 600 601 <a href="/tags/Shizuku/" class="print-no-link">#Shizuku</a> 602 603 </div> 604 605</div> 606 607 608 609 610 611 <div class="license-box my-3"> 612 <div class="license-title"> 613 <div>LSPatch å Root å®è£ 模å</div> 614 <div>https://kekkj123.github.io/posts/Tools/LSPatch-demo/</div> 615 </div> 616 <div class="license-meta"> 617 618 <div class="license-meta-item"> 619 <div>ä½è </div> 620 <div>KEKKJ</div> 621 </div> 622 623 624 <div class="license-meta-item license-meta-date"> 625 <div>åå¸äº</div> 626 <div>2026å¹´9æ25æ¥</div> 627 </div> 628 629 630 631 <div class="license-meta-item"> 632 <div>许å¯åè®®</div> 633 <div> 634 635 636 637 <a class="print-no-link" target="_blank" href="https://creativecommons.org/licenses/by-sa/4.0/">
638 <span class="hint--top hint--rounded" aria-label="BY - ç½²å"> 639 <i class="iconfont icon-cc-by"></i> 640 </span> 641 </a> 642 643 <a class="print-no-link" target="_blank" href="https://creativecommons.org/licenses/by-sa/4.0/"> 644 <span class="hint--top hint--rounded" aria-label="SA - ç¸åæ¹å¼å ±äº«"> 645 <i class="iconfont icon-cc-sa"></i> 646 </span> 647 </a> 648 649 650 </div> 651 </div> 652 653 </div> 654 <div class="license-icon iconfont"></div> 655 </div> 656 657 658 659 660 <div class="post-prevnext my-3"> 661 <article class="post-prev col-6"> 662 663 664 <a href="/posts/suiyuan/20260928/" title="æ è¡ä¸æ¢¦ - P31"> 665 <i class="iconfont icon-arrowleft"></i> 666 <span class="hidden-mobile">æ è¡ä¸æ¢¦ - P31</span> 667 <span class="visible-mobile">ä¸ä¸ç¯</span> 668 </a> 669 670 </article> 671 <article class="post-next col-6"> 672 673 674 <a href="/posts/LifeEpisode/20260921_2/" title="åå«"> 675 <span class="hidden-mobile">åå«</span> 676 <span class="visible-mobile">ä¸ä¸ç¯</span> 677 <i class="iconfont icon-arrowright"></i> 678 </a> 679 680 </article> 681 </div> 682 683 </div> 684 685 686 687 688 <article id="comments" lazyload> 689 690 <div id="giscus" class="giscus"></div> 691
691<script type="text/javascript"> 692 Fluid.utils.loadComments('#giscus', function() { 693 var options = {"repo":"KEKKJ123/KEKKJ123.github.io","repo-id":"R_kgDOMihuAQ","category":"Announcements","category-id":"DIC_kwDOMihuAc4ChlYD","theme-light":"light","theme-dark":"dark","mapping":"pathname","reactions-enabled":1,"emit-metadata":0,"input-position":"top","lang":"zh-CN"}; 694 var attributes = {}; 695 for (let option in options) { 696 if (!option.startsWith('theme-')) { 697 var key = option.startsWith('data-') ? option : 'data-' + option; 698 attributes[key] = options[option]; 699 } 700 } 701 var light = 'light'; 702 var dark = 'dark'; 703 window.GiscusThemeLight = light; 704 window.GiscusThemeDark = dark; 705 attributes['data-theme'] = document.documentElement.getAttribute('data-user-color-scheme') === 'dark' ? dark : light; 706 for (let attribute in attributes) { 707 var value = attributes[attribute]; 708 if (value === undefined || value === null || value === '') { 709 delete attributes[attribute]; 710 } 711 } 712 var s = document.createElement('script'); 713 s.setAttribute('src', 'https://giscus.app/client.js'); 714 s.setAttribute('crossorigin', 'anonymous'); 715 for (let attribute in attributes) { 716 s.setAttribute(attribute, attributes[attribute]); 717 } 718 var ss = document.getElementsByTagName('script'); 719 var e = ss.length > 0 ? ss[ss.length - 1] : document.head || document.documentElement; 720 e.parentNode.insertBefore(s, e.nextSibling); 721 }); 722 </script>
722 723 <noscript>Please enable JavaScript to view the comments</noscript> 724 725 726 </article> 727 728 729 730 </article> 731 </div> 732 </div> 733 </div> 734 735 <div class="side-col d-none d-lg-block col-lg-2"> 736 737 <aside class="sidebar" style="margin-left: -1rem"> 738 <div id="toc"> 739 <p class="toc-header"> 740 <i class="iconfont icon-list"></i> 741 <span>ç®å½</span> 742 </p> 743 <div class="toc-body" id="toc-body"></div> 744</div> 745 746 747 748 </aside> 749 750 751 </div> 752 </div> 753</div> 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 <a id="scroll-top-button" aria-label="TOP" href="#" role="button"> 787 <i class="iconfont icon-arrowup" aria-hidden="true"></i> 788 </a> 789 790 791 792 <div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" 793 aria-hidden="true"> 794 <div class="modal-dialog modal-dialog-scrollable modal-lg" role="document"> 795 <div class="modal-content"> 796 <div class="modal-header text-center"> 797 <h4 class="modal-title w-100 font-weight-bold">æç´¢</h4> 798 <button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close"> 799 <span aria-hidden="true">×</span> 800 </button> 801 </div> 802 <div class="modal-body mx-3"> 803 <div class="md-form mb-5"> 804 <input type="text" id="local-search-input" class="form-control validate"> 805 <label data-error="x" data-success="v" for="local-search-input">å ³é®è¯</label> 806 </div> 807 <div class="list-group" id="local-search-result"></div> 808 </div> 809 </div> 810 </div> 811</div> 812 813 814 815 816 </main> 817 818 <footer> 819 <div class="footer-inner"> 820 821 <div class="footer-content"> 822 <i class="iconfont icon-love"></i> <a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo Blog</span></a> <span>|</span> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid Theme</span></a> <span>|</span> <a href="https://github.com/KEKKJ123/KEKKJ123.github.io" target="_blank" rel="nofollow noopener"><span>KEKKJ Storge</span></a> <i class="iconfont icon-love"></i> <div style="font-size: 0.85rem"> <span id="timeDate">è½½å ¥å¤©æ°...</span> <span id="times">è½½å ¥æ¶åç§...</span>
822<script src="/scripts/running_time.js"></script>
822 </div> 823 </div> 824 825 826 <div class="statistics"> 827 828 829 830 831 832 <span id="leancloud-site-pv-container" style="display: none"> 833 æ»è®¿é®é 834 <span id="leancloud-site-pv"></span> 835 次 836 </span> 837 838 839 <span id="leancloud-site-uv-container" style="display: none"> 840 æ»è®¿å®¢æ° 841 <span id="leancloud-site-uv"></span> 842 人 843 </span> 844 845 846 847 848 849</div> 850 851 852 853 <!-- æ¤å¤æ ¼å¼åæ¥ footer åæ° --> 854 <div style="font-size: 0.85rem"> 855 <span id="g-post-count-id">è½½å ¥åæ°...</span> 856 </div> 857</div> 858 </footer> 859 860 <!-- Scripts --> 861 862
862<script src="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.js" ></script>
862 863 <link rel="stylesheet" href="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.css" /> 864 865
865<script> 866 NProgress.configure({"showSpinner":false,"trickleSpeed":100}) 867 NProgress.start() 868 window.addEventListener('load', function() { 869 NProgress.done(); 870 }) 871 </script>
871 872 873
874<script src="https://lib.baomitu.com/jquery/3.6.4/jquery.min.js" ></script>
vendor: 1 bytes, line 874
874
875<script src="https://lib.baomitu.com/twitter-bootstrap/4.6.1/js/bootstrap.min.js" ></script>
vendor: 1 bytes, line 875
875
876<script src="/js/events.js" ></script>
vendor: 1 bytes, line 876
876
877<script src="/js/plugins.js" ></script>
877 878 879 880 881 882 883 884
884<script src="/js/img-lazyload.js" ></script>
884 885 886 887 888 889 890
891<script> 892 var relativeDate = function() { 893 var updatedTime = document.getElementById('updated-time'); 894 if (updatedTime) { 895 var text = updatedTime.textContent; 896 var reg = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-]\d{2}:\d{2})/; 897 var matchs = text.match(reg); 898 if (matchs) { 899 var relativeTime = moment(matchs[0]).fromNow(); 900 updatedTime.textContent = text.replace(reg, relativeTime); 901 } 902 updatedTime.style.display = ''; 903 } 904 }; 905 Fluid.utils.createScript('https://lib.baomitu.com/moment.js/2.29.4/moment.min.js', function() { 906 if (!'zh-cn'.startsWith('en')) { 907 Fluid.utils.createScript('https://lib.baomitu.com/moment.js/2.29.4/locale/zh-cn.min.js', function() { 908 relativeDate(); 909 }); 910 } else { 911 relativeDate(); 912 } 913 }); 914</script>
914 915 916 917
918<script> 919 Fluid.utils.createScript('https://lib.baomitu.com/tocbot/4.20.1/tocbot.min.js', function() { 920 var toc = jQuery('#toc'); 921 if (toc.length === 0 || !window.tocbot) { return; } 922 var boardCtn = jQuery('#board-ctn'); 923 var boardTop = boardCtn.offset().top; 924 925 window.tocbot.init(Object.assign({ 926 tocSelector : '#toc-body', 927 contentSelector : '.markdown-body', 928 linkClass : 'tocbot-link', 929 activeLinkClass : 'tocbot-active-link', 930 listClass : 'tocbot-list', 931 isCollapsedClass: 'tocbot-is-collapsed', 932 collapsibleClass: 'tocbot-is-collapsible', 933 scrollSmooth : true, 934 includeTitleTags: true, 935 headingsOffset : -boardTop, 936 }, CONFIG.toc)); 937 if (toc.find('.toc-list-item').length > 0) { 938 toc.css('visibility', 'visible'); 939 } 940 941 Fluid.events.registerRefreshCallback(function() { 942 if ('tocbot' in window) { 943 tocbot.refresh(); 944 var toc = jQuery('#toc'); 945 if (toc.length === 0 || !tocbot) { 946 return; 947 } 948 if (toc.find('.toc-list-item').length > 0) { 949 toc.css('visibility', 'visible'); 950 } 951 } 952 }); 953 }); 954</script>
954 955 956 957
957<script src=https://lib.baomitu.com/clipboard.js/2.0.11/clipboard.min.js></script>
957 958 959
959<script>Fluid.plugins.codeWidget();</script>
959 960 961 962
963<script> 964 Fluid.utils.createScript('https://lib.baomitu.com/anchor-js/5.0.0/anchor.min.js', function() { 965 window.anchors.options = { 966 placement: CONFIG.anchorjs.placement, 967 visible : CONFIG.anchorjs.visible 968 }; 969 if (CONFIG.anchorjs.icon) { 970 window.anchors.options.icon = CONFIG.anchorjs.icon; 971 } 972 var el = (CONFIG.anchorjs.element || 'h1,h2,h3,h4,h5,h6').split(','); 973 var res = []; 974 for (var item of el) { 975 res.push('.markdown-body > ' + item.trim()); 976 } 977 if (CONFIG.anchorjs.placement === 'left') { 978 window.anchors.options.class = 'anchorjs-link-left'; 979 } 980 window.anchors.add(res.join(', ')); 981 982 Fluid.events.registerRefreshCallback(function() { 983 if ('anchors' in window) { 984 anchors.removeAll(); 985 var el = (CONFIG.anchorjs.element || 'h1,h2,h3,h4,h5,h6').split(','); 986 var res = []; 987 for (var item of el) { 988 res.push('.markdown-body > ' + item.trim()); 989 } 990 if (CONFIG.anchorjs.placement === 'left') { 991 anchors.options.class = 'anchorjs-link-left'; 992 } 993 anchors.add(res.join(', ')); 994 } 995 }); 996 }); 997</script>
997 998 999 1000
1001<script> 1002 Fluid.utils.createScript('https://lib.baomitu.com/fancybox/3.5.7/jquery.fancybox.min.js', function() { 1003 Fluid.plugins.fancyBox(); 1004 }); 1005</script>
1005 1006 1007 1008
1008<script>Fluid.plugins.imageCaption();</script>
1008 1009 1010
1010<script defer src="/js/leancloud.js" ></script>
1010 1011 1012
1012<script src="/js/local-search.js" ></script>
1012 1013 1014 1015 1016 1017 1018<!-- 主é¢çå¯å¨é¡¹ï¼å°å®ä¿æå¨æåºé¨ --> 1019<!-- the boot of the theme, keep it at the bottom -->
1020<script src="/js/boot.js" ></script>
1020 1021 1022 1023
1023<script type="text/javascript"> 1024 document.getElementById("g-post-count-id").innerHTML = "å°ä¸çæ»åæ° 73k"; 1025</script>
1025 1026 1027 <noscript> 1028 <div class="noscript-warning">å客å¨å 许 JavaScript è¿è¡çç¯å¢ä¸æµè§æææ´ä½³</div> 1029 </noscript> 1030</body> 1031</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.