1<!doctype html> 2 3 4 5 6 7<!-- Google AdSense start -->
8<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
vendor: 1 bytes, line 8
8
9<script> 10 (adsbygoogle = window.adsbygoogle || []).push({ 11 google_ad_client: "ca-pub-9028627160282216", 12 enable_page_level_ads: true 13 }); 14</script>
14 15 16<!-- Google AdSense end --> 17<html class="theme-next pisces use-motion" lang="zh-Hans"> 18<head> 19 <meta charset="UTF-8"/> 20<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 21<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/> 22 23 24 25<meta http-equiv="Cache-Control" content="no-transform" /> 26<meta http-equiv="Cache-Control" content="no-siteapp" /> 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" /> 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 <link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css"> 71 72 73 74 75 76 77 78<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css" /> 79 80<link href="/css/main.css?v=5.1.0" rel="stylesheet" type="text/css" /> 81 82 83 <meta name="keywords" content="Hexo, NexT" /> 84 85 86 87 88 89 <link rel="alternate" href="/atom.xml" title="å°æªçå客" type="application/atom+xml" /> 90 91 92 93 94 <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.1.0" /> 95 96 97 98 99 100 101<meta name="description" content="1è¿æ¯å´æ¯ç¹ç第ä¸ç¾äºåä¸ç¯ååæç« 102Appç¬è« (à¹â¢ . â¢à¹)"> 103<meta property="og:type" content="article"> 104<meta property="og:title" content="AutoJs+mitmproxy Appç¬è«"> 105<meta property="og:url" content="https://zhangslob.github.io/2020/05/19/AutoJs-mitmproxy-Appç¬è«/index.html"> 106<meta property="og:site_name" content="å°æªçå客"> 107<meta property="og:description" content="1è¿æ¯å´æ¯ç¹ç第ä¸ç¾äºåä¸ç¯ååæç« 108Appç¬è« (à¹â¢ . â¢à¹)"> 109<meta property="og:image" content="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/AvLewa.png"> 110<meta property="og:image" content="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/3GXey8.png"> 111<meta property="og:image" content="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/lV5Mco.jpg"> 112<meta property="og:image" content="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/mwo1cW.jpg"> 113<meta property="og:image" content="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/hRDvgZ.jpg"> 114<meta property="og:image" content="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/3AD4iU.jpg"> 115<meta property="og:updated_time" content="2020-05-19T13:51:40.995Z"> 116<meta name="twitter:card" content="summary"> 117<meta name="twitter:title" content="AutoJs+mitmproxy Appç¬è«"> 118<meta name="twitter:description" content="1è¿æ¯å´æ¯ç¹ç第ä¸ç¾äºåä¸ç¯ååæç« 119Appç¬è« (à¹â¢ . â¢à¹)"> 120<meta name="twitter:image" content="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/AvLewa.png"> 121 122 123
124<script type="text/javascript" id="hexo.configurations"> 125 var NexT = window.NexT || {}; 126 var CONFIG = { 127 root: '/', 128 scheme: 'Pisces', 129 sidebar: {"position":"left","display":"post","offset":12,"offset_float":0,"b2t":false,"scrollpercent":false}, 130 fancybox: true, 131 motion: true, 132 duoshuo: { 133 userId: 'undefined', 134 author: 'å主' 135 }, 136 algolia: { 137 applicationID: '', 138 apiKey: '', 139 indexName: '', 140 hits: {"per_page":10}, 141 labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"} 142 } 143 }; 144</script>
144 145 146 147 148 <link rel="canonical" href="https://zhangslob.github.io/2020/05/19/AutoJs-mitmproxy-Appç¬è«/"/> 149 150 151 152 153 154 <title> AutoJs+mitmproxy Appç¬è« | å°æªçå客 </title> 155</head> 156 157 158 159<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans"> 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 <div class="container one-collumn sidebar-position-left page-post-detail "> 182 <div class="headband"></div> 183 <!-- <a href="https://github.com/zhangslob"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png" alt="Fork me on GitHub"></a> --> 184 <a target="_blank" href="https://github.com/zhangslob"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"></a> 185 186 <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader"> 187 <div class="header-inner"><div class="site-brand-wrapper"> 188 <div class="site-meta "> 189 190 191 <div class="custom-logo-site-title"> 192 <a href="/" class="brand" rel="start"> 193 <span class="logo-line-before"><i></i></span> 194 <span class="site-title">å°æªçå客</span> 195 <span class="logo-line-after"><i></i></span> 196 </a> 197 </div> 198 199 <p class="site-subtitle">人çè¦çï¼æå¦Python</p> 200 201 </div> 202 203 <div class="site-nav-toggle"> 204 <button> 205 <span class="btn-bar"></span> 206 <span class="btn-bar"></span> 207 <span class="btn-bar"></span> 208 </button> 209 </div> 210</div> 211 212<nav class="site-nav"> 213 214 215 216 <ul id="menu" class="menu"> 217 218 219 <li class="menu-item menu-item-home"> 220 <a href="/" rel="section"> 221 222 <i class="menu-item-icon fa fa-fw fa-home"></i> <br /> 223 224 é¦é¡µ 225 </a> 226 </li> 227 228 229 <li class="menu-item menu-item-categories"> 230 <a href="/categories" rel="section"> 231 232 <i class="menu-item-icon fa fa-fw fa-th"></i> <br /> 233 234 åç±» 235 </a> 236 </li> 237 238 239 <li class="menu-item menu-item-about"> 240 <a href="/about" rel="section"> 241 242 <i class="menu-item-icon fa fa-fw fa-user"></i> <br /> 243 244 å ³äº 245 </a> 246 </li> 247 248 249 <li class="menu-item menu-item-archives"> 250 <a href="/archives" rel="section"> 251 252 <i class="menu-item-icon fa fa-fw fa-archive"></i> <br /> 253 254 彿¡£ 255 </a> 256 </li> 257 258 259 <li class="menu-item menu-item-tags"> 260 <a href="/tags" rel="section"> 261 262 <i class="menu-item-icon fa fa-fw fa-tags"></i> <br /> 263 264 æ ç¾ 265 </a> 266 </li> 267 268 269 <li class="menu-item menu-item-leetcode"> 270 <a href="/leetcode/" rel="section"> 271 272 <i class="menu-item-icon fa fa-fw fa-calendar"></i> <br /> 273 274 menu.leetcode 275 </a> 276 </li> 277 278 279 280 <li class="menu-item menu-item-search"> 281 282 <a href="javascript:;" class="popup-trigger"> 283 284 285 <i class="menu-item-icon fa fa-search fa-fw"></i> <br /> 286 287 æç´¢ 288 </a> 289 </li> 290 291 </ul> 292 293 294 295 <div class="site-search"> 296 297 <div class="popup local-search-popup"> 298 <div class="local-search-header clearfix"> 299 <span class="search-icon"> 300 <i class="fa fa-search"></i> 301 </span> 302 <span class="popup-btn-close"> 303 <i class="fa fa-times-circle"></i> 304 </span> 305 <div class="local-search-input-wrapper"> 306 <input autocapitalize="off" autocomplete="off" autocorrect="off" placeholder="æç´¢..." spellcheck="false" type="text" id="local-search-input"> 307 </div> 308 </div> 309 <div id="local-search-result"></div> 310</div> 311 312 313 314 </div> 315 316</nav> 317 318 319 320 </div> 321 </header> 322 323 <main id="main" class="main"> 324 <div class="main-inner"> 325 <div class="content-wrap">
326 <div id="content" class="content"> 327 328 329 <div id="posts" class="posts-expand"> 330 331 332 333 334 335 336 337 338 <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article"> 339 <link itemprop="mainEntityOfPage" href="https://zhangslob.github.io/2020/05/19/AutoJs-mitmproxy-Appç¬è«/"> 340 341 <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"> 342 <meta itemprop="name" content="å´æ¯ç¹"> 343 <meta itemprop="description" content=""> 344 <meta itemprop="image" content="https://timgsa.baidu.com/timg?image&quality=80&size=b10000_10000&sec=1488291259&di=9b54b1ab9a4a02ec51e4344e960692d6&src=http://ni.ppsrc.com/aR24MryiGC7HFCEJTB-wgQ@640w_640h_75Q.jpeg"> 345 </span> 346 347 <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"> 348 <meta itemprop="name" content="å°æªçå客"> 349 </span> 350 351 352 <header class="post-header"> 353 354 355 356 <h1 class="post-title" itemprop="name headline"> 357 358 359 360 AutoJs+mitmproxy Appç¬è« 361 362 363 </h1> 364 365 366 <div class="post-meta"> 367 <span class="post-time"> 368 369 <span class="post-meta-item-icon"> 370 <i class="fa fa-calendar-o"></i> 371 </span> 372 373 <span class="post-meta-item-text">å表äº</span> 374 375 <time title="å建äº" itemprop="dateCreated datePublished" datetime="2020-05-19T20:39:34+08:00"> 376 2020-05-19 377 </time> 378 379 380 381 382 383 </span> 384 385 386 <span class="post-category" > 387 388 <span class="post-meta-divider">|</span> 389 390 <span class="post-meta-item-icon"> 391 <i class="fa fa-folder-o"></i> 392 </span> 393 394 <span class="post-meta-item-text">åç±»äº</span> 395 396 397 <span itemprop="about" itemscope itemtype="http://schema.org/Thing"> 398 <a href="/categories/ç¬è«/" itemprop="url" rel="index"> 399 <span itemprop="name">ç¬è«</span> 400 </a> 401 </span> 402 403 404 405 406 </span> 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 </div> 423 </header> 424 425 426 427 <div class="post-body" itemprop="articleBody"> 428 429 430 431 432 433 <p><img src="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/AvLewa.png" alt="AvLewa"></p> 434<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">è¿æ¯å´æ¯ç¹ç第ä¸ç¾äºåä¸ç¯ååæç« </div></pre></td></tr></table></figure> 435<p>Appç¬è« (à¹â¢ . â¢à¹)</p> 436<a id="more"></a> 437<p>#AutoJs</p> 438<h2 id="ä»ç»"><a href="#ä»ç»" class="headerlink" title="ä»ç»"></a>ä»ç»</h2><p>宿¹ææ¡£ï¼<a href="https://hyb1996.github.io/AutoJs-Docs/#/" target="_blank" rel="external">https://hyb1996.github.io/AutoJs-Docs/#/</a></p> 439<p>Githubï¼<a href="https://github.com/hyb1996/Auto.js" target="_blank" rel="external">https://github.com/hyb1996/Auto.js</a></p> 440<p>宿¹è®ºåï¼<a href="https://www.autojs.org/" target="_blank" rel="external">https://www.autojs.org/</a></p> 441<p>é宿¹ææ¡£ï¼<a href="https://easydoc.xyz/doc/25791054/uw2FUUiw/3bEzXb4y" target="_blank" rel="external">https://easydoc.xyz/doc/25791054/uw2FUUiw/3bEzXb4y</a></p> 442<p>AutoJsæ¯ä¸æ¬¾ä¸éè¦RootæéçJavaScriptèªå¨å软件ï¼ç®åæ¥è¯´å°±æ¯ææºä¸çâèæ¬ç²¾çµâã</p> 443<p>ç°å¨å®æ¹å·²ç»ä¸å¨æä¾ä¸è½½éå¾äºï¼å ·ä½åå å¯ä»¥å»è¿éåè§ï¼<a href="https://github.com/hyb1996/Auto.js/issues/500" target="_blank" rel="external">è²ä¼¼Auto.jså¨é ·å®ä¸å·²ç»è¢«ä¸æ¶äº</a></p> 444<p><img src="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/3GXey8.png" alt="3GXey8"></p> 445<blockquote> 446<p>é宿¹ææ¡£ä¸æä¸è½½å°å</p> 447</blockquote> 448<h2 id="使ç¨">
448<a href="#使ç¨" class="headerlink" title="使ç¨"></a>使ç¨</h2><p>æ¨è使ç¨AutoJsProï¼æ¬æç¨åºäºAutoJsPro</p> 449<p>ä¸è½½å®è£ ä¹åï¼éè¦æå¼å 个æéï¼</p> 450<ol> 451<li>æ éç¢</li> 452<li>æ¬æµ®çª</li> 453<li>è¿ç¨è°è¯</li> 454</ol> 455<p>ç¯å¢é ç½®åèï¼<a href="https://easydoc.xyz/doc/25791054/uw2FUUiw/F30Lmx8U" target="_blank" rel="external">https://easydoc.xyz/doc/25791054/uw2FUUiw/F30Lmx8U</a></p> 456<p>è¿ç¨é¾æ¥åèï¼<a href="https://www.autojs.org/topic/3551/auto-js-proå¦ä½è¿æ¥vs-codeæä»¶" target="_blank" rel="external">Auto.js Proå¦ä½è¿æ¥VS Codeæä»¶</a></p> 457<h2 id="åºç¡æä½"><a href="#åºç¡æä½" class="headerlink" title="åºç¡æä½"></a>åºç¡æä½</h2><h3 id="æå¼åºç¨"><a href="#æå¼åºç¨" class="headerlink" title="æå¼åºç¨"></a>æå¼åºç¨</h3><figure class="highlight javascript"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//å¯å¨APP</span></div><div class="line"><span class="keyword">if</span> (currentPackage() != <span class="string">"com.chaoxing.mobile"</span>) {</div><div class="line"> toast(<span class="string">"å³å°æå¼è¶ æï¼"</span>);</div><div class="line"> <span class="comment">//ç´æ¥æå¼å¦ä¹ é</span></div><div class="line"> app.launchApp(<span class="string">"å¦ä¹ é"</span>);</div><div class="line">} <span class="keyword">else</span> {</div><div class="line"> toast(<span class="string">"å·²ç»å¨å¦ä¹ éä¸ï¼å³å°å¼å§è¿è¡ä¸ä¸æ¥æä½ï¼"</span>);</div><div class="line">};</div></pre></td></tr></table></figure> 458<p>è·åå½åactivityæ¹æ³ï¼æ¯ä»ä¸ºä¾ï¼<code>com.zhihu.android</code>å°±æ¯currentPackage</p> 459<figure class="highlight cmd"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">â ~ adb shell dumpsys window | grep mCurrent</div><div class="line"> mCurrentAppOrientation=SCREEN_ORIENTATION_PORTRAIT</div><div class="line"> mCurrentRotation=ROTATION_0</div><div class="line"> mCurrentUserId=<span class="number">0</span></div><div class="line"> mCurrentUserId=<span class="number">0</span></div><div class="line"> mCurrent=[<span class="number">0</span>,<span class="number">72</span>][<span class="number">1080</span>,<span class="number">1920</span>]</div><div class="line"> mCurrentFocus=Window{<span class="number">38</span>aea79 u0 com.zhihu.android/com.zhihu.android.app.ui.activity.MainActivity}</div></pre></td></tr></table></figure> 460<h3 id="ç¹å»æé®"><a href="#ç¹å»æé®" class="headerlink" title="ç¹å»æé®"></a>ç¹å»æé®</h3><p>æå¼æ¬æµ®çªç第ä¸ä¸ªæé®</p> 461<p><img src="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/lV5Mco.jpg" alt="lV5Mco"></p> 462<p><img src="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/mwo1cW.jpg" alt="mwo1cW"></p> 463<p>æ¯å¦æä»¬ç°å¨ç¹å»åç°æé®ï¼ä¼æå¼¹çªï¼ç¹å»çæä»£ç ï¼å¦ä¸å¾</p> 464<p><img src="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/hRDvgZ.jpg" alt="hRDvgZ"></p> 465<p>å°±æä»£ç äºï¼å¯ä»¥ç´æ¥æ·è´å°çµèä¸ï¼æä»¥å¦æä½ æ¯å¨ææºä¸ç¼è¾ï¼ä¼è¦å½çãä¸å®è¦æVSCodeç¯å¢å®è£ 好ã</p> 466<p>å¦æä½ åç°æä¸ªæé®æ¯å¯ä»¥æ¾å°çï¼ä½æ¯æ§è¡äº<code>id("hello").findOne().click()</code>åï¼å¹¶æ²¡æç¹å»å¨ä½ï¼ä½ å¯ä»¥å®æ¶è¿ç§æ¹æ³ï¼éè¦å®å7以䏿è¡</p> 467<p>妿ä¸ä¸ªæ§ä»¶æ¬èº«æ æ³éè¿<code>click()</code>ç¹å»ï¼é£ä¹æä»¬å¯ä»¥å©ç¨<code>bounds()</code>彿°è·åå ¶åæ ï¼åå©ç¨åæ ç¹å»ãä¾å¦ï¼</p> 468<figure class="highlight javascript"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">var</span> b = desc(<span class="string">"æå¼ä¾§æèå"</span>).findOne().bounds();</div><div class="line">click(b.centerX(), b.centerY());</div><div class="line"><span class="comment">// å¦æä½¿ç¨rootæéï¼åç¨ Tap(b.centerX(), b.centerY());
468</span></div></pre></td></tr></table></figure> 469<p>æä¸äºAPPçç»ä»¶ï¼å®ä»¬çidãtextãdescçèç¹å¼æ¯ç©ºå¼ãclassNameå¼å䏿¯é¡µé¢ä¸å¯ä¸çã<br>è¿æçç»ä»¶idæ¯å¨æååçãå¯ä»¥å°è¯ä¸é¢å ç§æ¹æ³ï¼</p> 470<ul> 471<li>寻æ¾ç¶ç»ä»¶ãå¦æè¯¥ç»ä»¶çç¶ç»ä»¶ï¼æè ç·ç»ä»¶åå¨åºå®çidãtextãdescï¼å°±å å®ä½å°ç¶ç»ä»¶ï¼ç¶å使ç¨find()彿°éåç¶ç»ä»¶çåç»ä»¶ãæåéè¿classNameãdepthãç»ä»¶çç´¢å¼çæ¥å¤ææ¯å¦ä¸ºæå®çç»ä»¶ã</li> 472<li>寻æ¾åç»ä»¶ãå¦æè¯¥ç»ä»¶çåç»ä»¶ï¼æè åç»ä»¶åå¨åºå®çidãtextãdescï¼å°±å å®ä½å°åç»ä»¶ï¼ç¶å使ç¨parent()彿°è·åç¶ç»ä»¶å¯¹è±¡ãæåéè¿classNameãdepthãç»ä»¶çç´¢å¼çæ¥å¤ææ¯å¦ä¸ºæå®çç»ä»¶ã</li> 473<li>寻æ¾å å¼ç»ä»¶ãå¦æè¯¥ç»ä»¶çå å¼ç»ä»¶åå¨åºå®çidãtextãdescï¼å°±å å®ä½å°å å¼ç»ä»¶ï¼ç¶å使ç¨parent()彿°è·åç¶ç»ä»¶å¯¹è±¡ãæ¥ä¸æ¥ä½¿ç¨find()彿°éåç¶ç»ä»¶çåç»ä»¶ãæåéè¿classNameãdepthãç»ä»¶çç´¢å¼çæ¥å¤ææ¯å¦ä¸ºæå®çç»ä»¶ã</li> 474</ul> 475<h1 id="mitmproxy"><a href="#mitmproxy" class="headerlink" title="mitmproxy"></a>mitmproxy</h1><p>使ç¨AutoJsèªå¨åæä½åï¼æ¯å¯ä»¥è®©ææºèªå¨åäºï¼ä½æ¯æä¹æåæ°æ®å¢ï¼è¿é使ç¨mitmproxyæ¯æå¿«çã</p> 476<h2 id="ç¯å¢é ç½®"><a href="#ç¯å¢é ç½®" class="headerlink" title="ç¯å¢é ç½®"></a>ç¯å¢é ç½®</h2><p>å®è£ ï¼<code>pip3 install mitmproxy</code></p> 477<p>ç»ç«¯è¾å ¥ <code>mitmproxy</code>å</p> 478<p><img src="https://raw.githubusercontent.com/zhangslob/oss/master/uPic/3AD4iU.jpg" alt="3AD4iU"></p> 479<figure class="highlight cmd"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">â ~ <span class="built_in">cd</span> ~/.mitmproxy</div><div class="line">â .mitmproxy ls</div><div class="line">config.yaml mitmproxy-ca-cert.pem mitmproxy-dhparam.pem</div><div class="line">mitmproxy-ca-cert.cer mitmproxy-ca.p12</div><div class="line">mitmproxy-ca-cert.p12 mitmproxy-ca.pem</div></pre></td></tr></table></figure> 480<p>å¯ä»¥å¨å¦ä¸ä½ç½®æ¾å°è¯ä¹¦ï¼ç¶åå®è£ ã</p> 481<p>ææºå¨wifiå¤é ç½®å®æåæå¼<code>mitm.it</code>ï¼ä¸è½½å®è£ ä¿¡ä»»è¯ä¹¦å³å¯ã</p> 482<h2 id="æ°æ®è·å"><a href="#æ°æ®è·å" class="headerlink" title="æ°æ®è·å"></a>æ°æ®è·å</h2><p>ç¼åèæ¬<code>script.py</code></p> 483<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line">import json</div><div class="line">import os</div><div class="line"></div><div class="line">from mitmproxy.http import flow</div><div class="line"></div><div class="line">def response(flow: flow):</div><div class="line"> print(flow.request.url, flow.response.text)</div><div class="line"></div><div class="line">if __name__ == '__main__':</div><div class="line"> os.system("mitmdump -s script.py")</div></pre></td></tr></table></figure> 484<h2 id="å®å7é®é¢"><a href="#å®å7é®é¢" class="headerlink" title="å®å7é®é¢"></a>å®å7é®é¢</h2><p>åºäºç½ç»å®å ¨çè§åº¦èèï¼é»è®¤æ åµä¸ï¼é¢å Android 7.0 çåºç¨å¼å§åªä¿¡ä»»ç³»ç»æä¾çè¯ä¹¦(system)ï¼ä¸ä¸åä¿¡ä»»ç¨æ·æ·»å çè¯ä¹¦(user)ã</p> 485<p>为äºè§£å³è¿ä¸ªé®é¢ï¼éè¦Xposed+JustTrustMeå»è§£å³ï¼å¦åç½ç»ä¸åãæä»¥ææºå¿ é¡»rootã</p> 486<p>è¯¦ç»æç¨ï¼åè<a href="https://crifan.github.io/app_capture_package_tool_charles/website/how_capture_app/complex_https/https_ssl_pinning/root_android_xposed_justtrustme.html" target="_blank" rel="external">å·²rootçå®å+XPosed+JustTrustMeç ´è§£ssl pinning</a></p> 487 488 489 </div> 490 491 <div> 492 493 494 495 496 </div> 497 498 <div> 499 500 501 502 503 </div> 504 505 506 <footer class="post-footer"> 507 508 509 510 511 512 513 514 <div class="post-nav"> 515 <div class="post-nav-next post-nav-item"> 516 517 <a href="/2020/04/19/æ°ç»ç¥è¯/" rel="next" title="æ°ç»ç¥è¯"> 518 <i class="fa fa-chevron-left"></i> æ°ç»ç¥è¯ 519 </a> 520 521 </div> 522
523 <span class="post-nav-divider"></span> 524 525 <div class="post-nav-prev post-nav-item"> 526 527 </div> 528 </div> 529 530 531 532 533 </footer> 534 </article> 535 536 537 538 <div class="post-spread"> 539 540 </div> 541 </div> 542 <!-- ä¸ä¸è¡æ¯è¦æ·»å ç代ç start --> 543 <!-- Link Gitalk çæ¯ææä»¶ --> 544 <link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css"> 545
545<script src="https://unpkg.com/gitalk@latest/dist/gitalk.min.js"></script>
545 546
546<script src="/js/src/md5.min.js"></script>
546 547 <div id="gitalk-container"></div>
547<script type="text/javascript"> 548 var gitalk = new Gitalk({ 549 550 // gitalkç主è¦åæ° 551 clientID: '5ec2f8855d35458a8251', 552 clientSecret: 'bba153b77a0beb4c104a1eefc4132cf2b794f44f', 553 repo: 'zhangslob.github.io', 554 owner: 'zhangslob', 555 admin: ['zhangslob'], 556 id: md5(location.pathname), 557 558 }); 559 gitalk.render('gitalk-container'); 560 </script>
560 561 <!-- Gitalk end --> 562 <!-- å°ä¸ä¸è¡ç»æ end --> 563 564 </div> 565 566 567 568 569 <div class="comments" id="comments"> 570 571 <div id="gitalk-container"></div> 572 <link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css"> 573 574 </div> 575 576 </div> 577 578 579 580 <div class="sidebar-toggle"> 581 <div class="sidebar-toggle-line-wrap"> 582 <span class="sidebar-toggle-line sidebar-toggle-line-first"></span> 583 <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span> 584 <span class="sidebar-toggle-line sidebar-toggle-line-last"></span> 585 </div> 586 </div> 587 588 <aside id="sidebar" class="sidebar"> 589 <div class="sidebar-inner"> 590 591 592 593 594 <ul class="sidebar-nav motion-element"> 595 <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap" > 596 æç« ç®å½ 597 </li> 598 <li class="sidebar-nav-overview" data-target="site-overview"> 599 ç«ç¹æ¦è§ 600 </li> 601 </ul> 602 603 604 <section class="site-overview sidebar-panel"> 605 <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person"> 606 <img class="site-author-image" itemprop="image" 607 src="https://timgsa.baidu.com/timg?image&quality=80&size=b10000_10000&sec=1488291259&di=9b54b1ab9a4a02ec51e4344e960692d6&src=http://ni.ppsrc.com/aR24MryiGC7HFCEJTB-wgQ@640w_640h_75Q.jpeg" 608 alt="å´æ¯ç¹" /> 609 <p class="site-author-name" itemprop="name">å´æ¯ç¹</p> 610 611 <p class="site-description motion-element" itemprop="description">æ°æ®ééãæ°æ®å¤çãæºå¨å¦ä¹ ã</p> 612 613 </div> 614 <nav class="site-state motion-element"> 615 616 617 <div class="site-state-item site-state-posts"> 618 <a href="/archives"> 619 <span class="site-state-item-count">126</span> 620 <span class="site-state-item-name">æ¥å¿</span> 621 </a> 622 </div> 623 624 625 626 <div class="site-state-item site-state-categories"> 627 <a href="/categories"> 628 <span class="site-state-item-count">41</span> 629 <span class="site-state-item-name">åç±»</span> 630 </a> 631 </div> 632 633 634 635 <div class="site-state-item site-state-tags"> 636 <a href="/tags"> 637 <span class="site-state-item-count">84</span> 638 <span class="site-state-item-name">æ ç¾</span> 639 </a> 640 </div> 641 642 643 </nav> 644 645 646 <div class="feed-link motion-element"> 647 <a href="/atom.xml" rel="alternate"> 648 <i class="fa fa-rss"></i> 649 RSS 650 </a> 651 </div> 652 653 654 <div class="links-of-author motion-element"> 655 656 657 <span class="links-of-author-item"> 658 <a href="https://github.com/zhangslob" target="_blank" title="GitHub"> 659 660 <i class="fa fa-fw fa-github"></i> 661 662 GitHub 663 </a> 664 </span> 665 666 <span class="links-of-author-item"> 667 <a href="mailto:[email protected]" target="_blank" title="E-Mail"> 668 669 <i class="fa fa-fw fa-globe"></i> 670 671 E-Mail 672 </a> 673 </span> 674 675 <span class="links-of-author-item"> 676 <a href="https://www.zhihu.com/people/cuishite" target="_blank" title="ç¥ä¹"> 677 678 <i class="fa fa-fw fa-globe"></i> 679 680 ç¥ä¹ 681 </a> 682 </span> 683 684 <span class="links-of-author-item"> 685 <a href="https://www.quora.com/profile/Zhangslob" target="_blank" title="Quora"> 686 687 <i class="fa fa-fw fa-globe"></i> 688 689 Quora 690 </a> 691 </span> 692 693 694 </div> 695 696 697 698 699 700 701 702 703 704 705 </section> 706 707 708 <!--noindex--> 709 <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active"> 710 <div class="post-toc"> 711 712 713 714 715 716 717 <div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#ä»ç»"><span class="nav-number">1.</span> <span class="nav-text">ä»ç»</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#使ç¨"><span class="nav-number">2.</span> <span class="nav-text">使ç¨</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#åºç¡æä½"><span class="nav-number">3.</span> <span class="nav-text">åºç¡æä½</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#æå¼åºç¨"><span class="nav-number">3.1.</span> <span class="nav-text">æå¼åºç¨</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#ç¹å»æé®"><span class="nav-number">3.2.</span> <span class="nav-text">ç¹å»æé®</span></a></li></ol></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#mitmproxy"><span class="nav-number"></span> <span class="nav-text">mitmproxy</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#ç¯å¢é ç½®"><span class="nav-number">1.</span> <span class="nav-text">ç¯å¢é ç½®</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#æ°æ®è·å"><span class="nav-number">2.</span> <span class="nav-text">æ°æ®è·å</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#å®å7é®é¢"><span class="nav-number">3.</span> <span class="nav-text">å®å7é®é¢</span></a></li></ol></div> 718 719 720 </div> 721 </section> 722 <!--/noindex--> 723 724 725 726 727 </div> 728 </aside> 729 730 731 732 </div> 733 </main> 734 735 <footer id="footer" class="footer"> 736 <div class="footer-inner"> 737
737<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"> 738</script>
738 739 740ä¸å ±æ¥äº <span id="busuanzi_value_site_pv"></span> 使åå¦~ 741æ¨æ¯å´æ¯ç¹ç第<span id="busuanzi_value_site_uv"></span>个å°ä¼ä¼´(à¹â¢ . â¢à¹) 742 743<div class="copyright" > 744 745 © 2016 - 746 <span itemprop="copyrightYear">2020</span> 747 <span class="with-love"> 748 <i class="fa fa-heart"></i> 749 </span> 750 <span class="author" itemprop="copyrightHolder">å´æ¯ç¹</span> 751</div> 752 753 754<div class="powered-by"> 755 ç± <a class="theme-link" href="https://hexo.io">Hexo</a> 强åé©±å¨ 756</div> 757 758<div class="theme-info"> 759 ä¸»é¢ - 760 <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next"> 761 NexT.Pisces 762 </a> 763</div> 764 765 766 767<span id="busuanzi_container_site_pv"> 768 æ¬ç«æ»è®¿é®é<span id="busuanzi_value_site_pv"></span>次 769</span> 770 771 772 773 774 775 </div> 776 </footer> 777 778 779 <div class="back-to-top"> 780 <i class="fa fa-arrow-up"></i> 781 782 </div> 783 784 785 </div> 786 787 788
789<script type="text/javascript"> 790 if (Object.prototype.toString.call(window.Promise) !== '[object Function]') { 791 window.Promise = null; 792 } 793</script>
793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809
809<script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
809 810 811 812
812<script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
812 813 814 815
815<script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
815 816 817 818
818<script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
818 819 820 821
821<script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
821 822 823 824
824<script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
824 825 826 827 828 829 830
830<script type="text/javascript" src="/js/src/utils.js?v=5.1.0"></script>
830 831 832
832<script type="text/javascript" src="/js/src/motion.js?v=5.1.0"></script>
832 833 834 835 836 837 838 839 840
840<script type="text/javascript" src="/js/src/affix.js?v=5.1.0"></script>
840 841 842
842<script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.1.0"></script>
842 843 844 845 846 847
847<script type="text/javascript" src="/js/src/scrollspy.js?v=5.1.0"></script>
vendor: 1 bytes, line 847
847
848<script type="text/javascript" src="/js/src/post-details.js?v=5.1.0"></script>
848 849 850 851 852 853 854 855
855<script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.0"></script>
855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892
892<script type="text/javascript"> 893 // Popup Window; 894 var isfetched = false; 895 // Search DB path; 896 var search_path = "search.xml"; 897 if (search_path.length == 0) { 898 search_path = "search.xml"; 899 } 900 var path = "/" + search_path; 901 // monitor main search box; 902 903 function proceedsearch() { 904 $("body").append('<div class="local-search-pop-overlay">').css('overflow', 'hidden'); 905 $('.popup').toggle(); 906 } 907 // search function; 908 var searchFunc = function(path, search_id, content_id) { 909 'use strict'; 910 $.ajax({ 911 url: path, 912 dataType: "xml", 913 async: true, 914 success: function( xmlResponse ) { 915 // get the contents from search data 916 isfetched = true; 917 $('.popup').detach().appendTo('.header-inner'); 918 var datas = $( "entry", xmlResponse ).map(function() { 919 return { 920 title: $( "title", this ).text(), 921 content: $("content",this).text(), 922 url: $( "url" , this).text() 923 }; 924 }).get(); 925 var $input = document.getElementById(search_id); 926 var $resultContent = document.getElementById(content_id); 927 $input.addEventListener('input', function(){ 928 var matchcounts = 0; 929 var str='<ul class=\"search-result-list\">'; 930 var keywords = this.value.trim().toLowerCase().split(/[\s\-]+/); 931 $resultContent.innerHTML = ""; 932 if (this.value.trim().length > 1) { 933 // perform local searching 934 datas.forEach(function(data) { 935 var isMatch = false; 936 var content_index = []; 937 var data_title = data.title.trim().toLowerCase(); 938 var data_content = data.content.trim().replace(/<[^>]+>/g,"").toLowerCase(); 939 var data_url = decodeURIComponent(data.url); 940 var index_title = -1; 941 var index_content = -1; 942 var first_occur = -1; 943 // only match artiles with not empty titles and contents 944 if(data_title != '') { 945 keywords.forEach(function(keyword, i) { 946 index_title = data_title.indexOf(keyword); 947 index_content = data_content.indexOf(keyword); 948 if( index_title >= 0 || index_content >= 0 ){ 949 isMatch = true; 950 if (i == 0) { 951 first_occur = index_content; 952 } 953 } 954 955 }); 956 } 957 // show search results 958 if (isMatch) { 959 matchcounts += 1; 960 str += "<li><a href='"+ data_url +"' class='search-result-title'>"+ data_title +"</a>"; 961 var content = data.content.trim().replace(/<[^>]+>/g,""); 962 if (first_occur >= 0) { 963 // cut out 100 characters 964 var start = first_occur - 20; 965 var end = first_occur + 80; 966 if(start < 0){ 967 start = 0; 968 } 969 if(start == 0){ 970 end = 50; 971 } 972 if(end > content.length){ 973 end = content.length; 974 } 975 var match_content = content.substring(start, end); 976 // highlight all keywords 977 keywords.forEach(function(keyword){ 978 var regS = new RegExp(keyword, "gi"); 979 match_content = match_content.replace(regS, "<b class=\"search-keyword\">"+keyword+"</b>"); 980 }); 981 982 str += "<p class=\"search-result\">" + match_content +"...</p>" 983 } 984 str += "</li>"; 985 } 986 })}; 987 str += "</ul>"; 988 if (matchcounts == 0) { str = '<div id="no-result"><i class="fa fa-frown-o fa-5x" /></div>' } 989 if (keywords == "") { str = '<div id="no-result"><i class="fa fa-search fa-5x" /></div>' } 990 $resultContent.innerHTML = str; 991 }); 992 proceedsearch(); 993 } 994 });} 995 996 // handle and trigger popup window; 997 $('.popup-trigger').click(function(e) { 998 e.stopPropagation(); 999 if (isfetched == false) { 1000 searchFunc(path, 'local-search-input', 'local-search-result'); 1001 } else { 1002 proceedsearch(); 1003 }; 1004 }); 1005 1006 $('.popup-btn-close').click(function(e){ 1007 $('.popup').hide(); 1008 $(".local-search-pop-overlay").remove(); 1009 $('body').css('overflow', ''); 1010 }); 1011 $('.popup').click(function(e){ 1012 e.stopPropagation(); 1013 }); 1014 </script>
1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027
1028<script src="/live2dw/lib/L2Dwidget.min.js?0c58a1486de42ac6cc1c59c7d98ae887"></script>
1028<script>L2Dwidget.init({"log":false,"pluginJsPath":"lib/","pluginModelPath":"assets/","pluginRootPath":"live2dw/","tagMode":false});</script>
1028</body> 1029</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.