<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>看雪学苑</title>
    <link>https://wechat2rss.xlab.app/feed/0e026637254d450ae84c59f87d4e4fb4616651ca.xml</link>
    <description>致力于移动与安全研究的开发者社区，看雪学院(kanxue.com)官方微信公众帐号。&#xA;(wechat feed made by @ttttmr https://wechat2rss.xlab.app)</description>
    <managingEditor> (看雪学苑)</managingEditor>
    <pubDate>Fri, 14 Aug 2026 18:00:12 +0800</pubDate>
    <lastBuildDate>Fri, 14 Aug 2026 18:00:12 +0800</lastBuildDate>
    <image>
      <url>https://wx.qlogo.cn/mmhead/Q3auHgzwzM5ic838F3ibmJb7ZEDRKNyjTSxQPoRubH2dC55frR0ibakFQ/0</url>
      <title>看雪学苑</title>
      <link>https://wechat2rss.xlab.app/feed/0e026637254d450ae84c59f87d4e4fb4616651ca.xml</link>
    </image>
    <item>
      <title>angr符号执行对抗ollvm</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618672&amp;idx=1&amp;sn=65f71de667d50fdef9073b6b60fb5d91</link>
      <description>看雪论坛作者ID：Qmeimei10086</description>
      <content:encoded><![CDATA[<p><span>Qmeimei10086</span> <span>2026-08-14 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=f62163c2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K0djQ58B4TXGVnprJQicO2fu57ibNHIPFmAOibstPgNVicSBQhPic9qGFftVpq0BslZCHnwgxzYscn4smsboE6qic4wn0GZjDwPBMO1Y%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>看雪论坛作者ID：Qmeimei10086</p>
  <p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;margin-left: 0px;margin-right: 0px;line-height: 1.6em;"><h1 style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">ollvm一直是程序保护中的一种强有力的手段，将原本的控制流打散，用一套分发器去控制流程（网上资料很多，这里不再赘述，请了解ollvm的基础知识再来阅读此文章，比如啥是序言，啥是后继，啥是分发器），本文将着重于一些被别人忽略的细节，让你能够用一套通法根据不同的变异ollvm特征写出不同的脚本。</span></span></h1></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;margin-left: 0px;margin-right: 0px;line-height: 1.6em;"><h1 style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">静态的对抗手段有一些ida插件，比如d810，但是这些静态处理的方法在面对变异ollvm时就显得有些乏力，比如双循环头，汇聚块与循环头合并等问题。</span></span></h1></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;margin-left: 0px;margin-right: 0px;line-height: 1.6em;"><h1 style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">我们不经想既然是控制流混淆，那么动态执行一遍找到正确的执行顺序不久行了嘛？</span></span></h1></p><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;margin-left: 0px;margin-right: 0px;line-height: 1.6em;"><div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;line-height: 0;box-sizing: border-box;"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="margin: 0px 0px -13px;box-sizing: border-box;"><div style="text-align: center;font-size: 17px;color: rgb(0, 0, 0);line-height: 1.6;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">01</span></strong></p></div></div></div></div></div><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 10px;box-sizing: border-box;"><div style="margin: 1px 0px 0px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">寻找真实块</span></span></p></div></div></div></div></div></div><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">第一步我们就是要找出所有的代码，也就是真实块，我们可以根据一套固定流程来确定寻找。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">先祭出老生常谈的一张图：</span></span><span leaf=""><br/></span><span leaf=""><img alt="ollvm" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311134983" data-ratio="0.8490740740740741" title="ollvm" data-type="png" data-w="1080" style="max-width: 100%;" src="https://wechat2rss.xlab.app/img-proxy/?k=dd269b0f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3xBucsWpJPQKReCRufl0XI1Z5YtGsXBmh3XFeaHWXJbEQZIbBk6ibTxr3dhl6snJZlD1TbcTKSibib66icKwCHa3IWAUSpN6n2bjg%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">找到循环头</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">A </span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">-&gt;</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> B </span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">-&gt;</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> C </span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">-&gt;</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> D </span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">-&gt;</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> B</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">假如说又回到了B，那么B就是循环头，我们根据BFS算法可以找出来  </span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__comment"># ida python</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">find_loop_head</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">start_ea</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    loop_heads = </span><span class="code-snippet__built_in">set</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    queue = deque() </span><span class="code-snippet__comment"># BFS 队列</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    blcok = get_basic_block(start_ea) </span><span class="code-snippet__comment"># 获取起始地址所在的基本块</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    queue.append((blcok,[]))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">while</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(queue) &gt; </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        cur_block, path = queue.popleft()</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> cur_block.start_ea </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> path:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            loop_heads.add(cur_block.start_ea) </span><span class="code-snippet__comment"># 找到循环头</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">continue</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        path = path + [cur_block.start_ea] </span><span class="code-snippet__comment"># 更新路径</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        queue.extend((s, path) </span><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> s </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> cur_block.succs()) </span><span class="code-snippet__comment"># 将后继加入队列</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    all_loop_heads = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(loop_heads)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    all_loop_heads.sort() </span><span class="code-snippet__comment"># 升序排序，确保主循环头在第一个</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;[+]Find loop heads:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,[</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(lh) </span><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> lh </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> all_loop_heads],</span><span class="code-snippet__string">&#34; -- total:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(all_loop_heads))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> all_loop_heads</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">循环头有两个前驱，一个是序言，用与开辟栈空间，初始化变量之类的，一个是汇聚块。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">怎么判断哪个是汇聚块呢？汇聚块有很多前驱，而哪些前驱就是我们最关心的————真实快。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">ps:其实序言也是真实块之一，别忘了</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">找出循环头</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">find_converge_addr</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">loop_head_addr</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    converge_addr = </span><span class="code-snippet__number">0</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    block = get_basic_block(loop_head_addr) </span><span class="code-snippet__comment"># 循环头</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    preds = block.preds() </span><span class="code-snippet__comment"># 获取前驱基本块</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    pred_list = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(preds)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(pred_list) == </span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__comment"># 标准 ollvm：循环头有两个前驱,一个序言块一个汇聚块</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> pred </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> pred_list:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            tmp_list = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(pred.preds())</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(tmp_list) &gt; </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__comment"># 有多个前驱的块是汇聚块</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                converge_addr = pred.start_ea</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;[+]Find converge_addr:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(converge_addr))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> converge_addr</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;font-weight: bold;">找出汇聚块</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">那不是汇聚块就是序言了呗</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    for loop_head_addr in loop_heads:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        loop_head_block = </span><span class="code-snippet__built_in">get_basic_block</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(loop_head_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        converge_addr = </span><span class="code-snippet__built_in">find_converge_addr</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(loop_head_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        real_blocks = []</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        #找出序言</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        loop_head_preds = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(loop_head_block.</span><span class="code-snippet__built_in">preds</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">())</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        loop_head_preds_addr = [b.start_ea for b in loop_head_preds]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        if loop_head_addr != converge_addr:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            loop_head_preds_addr.</span><span class="code-snippet__built_in">remove</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(converge_addr)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;序言块:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,[</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(x) for x in loop_head_preds_addr])</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;font-weight: bold;">找出ret块</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">这个简单，没后继的就是ret块</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">find_ret_block</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">blocks</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> block </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> blocks:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        succs = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(block.succs()) </span><span class="code-snippet__comment"># 获取后继块</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        succs_list = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(succs)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        end_ea = block.end_ea </span><span class="code-snippet__comment"># end_ea 指向基本块最后一条指令的下一个地址</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        last_inst_ea = idc.prev_head(end_ea) </span><span class="code-snippet__comment"># 获取基本块最后一条指令地址</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        mnem = idc.print_insn_mnem(last_inst_ea) </span><span class="code-snippet__comment"># 获取指令助记符</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(succs_list) == </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__comment"># 没有后继块</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> mnem == </span><span class="code-snippet__string">&#34;retn&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__comment"># 最后一条指令是 ret 指令</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                ori_ret_block = block</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 向上寻找更合适的 ret 块</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">while</span><span class="code-snippet__literal">True</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    tmp_block = block.preds()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    pred_list = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(tmp_block)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(pred_list) == </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__comment"># 只有一个前驱</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                        block = pred_list[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> get_block_size(block) == </span><span class="code-snippet__number">4</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__comment"># 单指令块</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">continue</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">else</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">break</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">else</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__comment"># 多个前驱或者无前驱</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">break</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 处理子分发器情况</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                block2 = block</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                num = </span><span class="code-snippet__number">0</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                i = </span><span class="code-snippet__number">0</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">while</span><span class="code-snippet__literal">True</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    i += </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    succs_block = block2.succs()</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> succ </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> succs_block:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                        child_succs = succ.succs()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                        succ_list = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(child_succs)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(succ_list) != </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            block2 = succ</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            num += </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> num &gt; </span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                        block = ori_ret_block</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">break</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> i &gt; </span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">break</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;[+]ret块&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(block.start_ea))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> block.start_ea</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 这里是是考虑了可能ret块有前驱，保险起见算一起，可以不用这么多，当然这个代码你直接抄去就行，你可以先自己观察一下哦，有时候自己找ret块也行</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">找出真实块</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">def </span><span class="code-snippet__built_in">find_all_real_blocks</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(fun_ea):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    blocks = idaapi.</span><span class="code-snippet__built_in">FlowChart</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(idaapi.</span><span class="code-snippet__built_in">get_func</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(fun_ea))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    loop_heads = </span><span class="code-snippet__built_in">find_loop_head</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(fun_ea)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    all_real_blocks = []</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    for loop_head_addr in loop_heads:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        loop_head_block = </span><span class="code-snippet__built_in">get_basic_block</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(loop_head_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        converge_addr = </span><span class="code-snippet__built_in">find_converge_addr</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(loop_head_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        real_blocks = []</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        #找出序言</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        loop_head_preds = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(loop_head_block.</span><span class="code-snippet__built_in">preds</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">())</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        loop_head_preds_addr = [b.start_ea for b in loop_head_preds]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        if loop_head_addr != converge_addr:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            loop_head_preds_addr.</span><span class="code-snippet__built_in">remove</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(converge_addr)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;序言块:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,[</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(x) for x in loop_head_preds_addr])</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            real_blocks.</span><span class="code-snippet__built_in">extend</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(loop_head_preds_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        converge_block = </span><span class="code-snippet__built_in">get_basic_block</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(converge_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        list_preds = </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(converge_block.</span><span class="code-snippet__built_in">preds</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">())</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        for pred in list_preds:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            end_ea = pred.end_ea</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            last_inst_ea = idc.</span><span class="code-snippet__built_in">prev_head</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(end_ea)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            mnem = idc.</span><span class="code-snippet__built_in">print_insn_mnem</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(last_inst_ea)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            size = </span><span class="code-snippet__built_in">get_block_size</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(pred)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            if size &gt; </span><span class="code-snippet__number">5</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: # 大于单指令块且不是跳转指令</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                start_ea = pred.start_ea</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                real_blocks.</span><span class="code-snippet__built_in">append</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(start_ea)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        real_blocks.</span><span class="code-snippet__built_in">sort</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">() # 排序，第一个是序言块</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        all_real_blocks.</span><span class="code-snippet__built_in">append</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_blocks)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;子循环头及其子真实块&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, [</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(child_block_ea) for child_block_ea in real_blocks])</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    ret_addr = </span><span class="code-snippet__built_in">find_ret_block</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(blocks)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    all_real_blocks.</span><span class="code-snippet__built_in">append</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(ret_addr)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;all_real_blocks:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,all_real_blocks)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    all_real_block_list = []</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    for real_blocks in all_real_blocks:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        if </span><span class="code-snippet__built_in">isinstance</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_blocks,list):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            all_real_block_list.</span><span class="code-snippet__built_in">extend</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_blocks)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        else:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            all_real_block_list.</span><span class="code-snippet__built_in">append</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_blocks)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(f</span><span class="code-snippet__string">&#34;\n所有真实块获取完成 真实块数量: {len(all_real_block_list)}&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(all_real_block_list)</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">这里也是考虑了多循环头的情况，可以自己看情况改。我们以[RoarCTF 2019]polyre 为例子，附件和所有脚本我都放github上了。</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;font-style: italic;"><a href="https://github.com/Qmeimei10086/deflat-angr" target="_blank">https://github.com/Qmeimei10086/deflat-angr</a></span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">ida运行结果是：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">[+]</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">Find</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">loop</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">heads</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">[</span><span class="code-snippet__string">&#39;0x40063f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">--</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">total</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">[+]</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">Find</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">converge_addr</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span><span class="code-snippet__number">0</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">x4020cc</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">序言块: </span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">[</span><span class="code-snippet__string">&#39;0x400620&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">子循环头及其子真实块 </span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">[</span><span class="code-snippet__string">&#39;0x400620&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401121&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401198&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4011de&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40124f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40125e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4012a4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4012f6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401305&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401326&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40136c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4013b2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4013cf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4013ef&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401435&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401481&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401490&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4014ae&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4014d2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4014e8&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4014f7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401506&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401521&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401567&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4015b6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4015c5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4015d4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4015ed&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4015fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401642&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401691&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4016a0&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4016e6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401739&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401748&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401765&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4017ab&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4017fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40180b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401830&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401849&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401861&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4018a7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4018fa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401909&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401926&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401940&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401960&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40197d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40199b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4019e1&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401a3d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401a4c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401a73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401a8d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401ad3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401b25&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401b34&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401b4e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401b5d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401b75&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401bbb&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401c0d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401c1c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401c2b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401c46&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401c69&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401caf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d03&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d12&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d45&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d54&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d9a&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401e00&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401e0f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401e2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401e73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401eb9&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401ed6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401efa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401f09&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401f2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401f3c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401f60&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401f97&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401fa6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401fb5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401fcd&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401fe5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401ff4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40200c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40201b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x402033&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40204d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x402072&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x402096&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4020b3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4020c2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">[+]</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">ret</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">块 </span><span class="code-snippet__number">0</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">x401f54</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">all_real_blocks</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: </span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">[[4195872, 4198689, 4198808, 4198878, 4198991, 4199006, 4199076, 4199158, 4199173, 4199206, 4199276, 4199346, 4199375, 4199407, 4199477, 4199553, 4199568, 4199598, 4199634, 4199656, 4199671, 4199686, 4199713, 4199783, 4199862, 4199877, 4199892, 4199917, 4199932, 4200002, 4200081, 4200096, 4200166, 4200249, 4200264, 4200293, 4200363, 4200444, 4200459, 4200496, 4200521, 4200545, 4200615, 4200698, 4200713, 4200742, 4200768, 4200800, 4200829, 4200859, 4200929, 4201021, 4201036, 4201075, 4201101, 4201171, 4201253, 4201268, 4201294, 4201309, 4201333, 4201403, 4201485, 4201500, 4201515, 4201542, 4201577, 4201647, 4201731, 4201746, 4201773, 4201797, 4201812, 4201882, 4201984, 4201999, 4202029, 4202099, 4202169, 4202198, 4202234, 4202249, 4202285, 4202300, 4202336, 4202391, 4202406, 4202421, 4202445, 4202469, 4202484, 4202508, 4202523, 4202547, 4202573, 4202610, 4202646, 4202675, 4202690]</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202324</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span></code></pre></p><h2 style="font-weight: bold;font-size: 15px;margin: 1rem 0px;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">获取执行循序</span></span></h2><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">这就到了本文最精髓的地方了，我们要找到每个块的后继</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">对于每一个真实块，我们遵循一套这样的法则</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">序言执 -&gt; 主分发器 -&gt; 直接跳到我们要的真实块 -&gt; 继续执行看会到哪一个块</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">重点:  </span></span></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">必须先执行序言，这是初始化，执行开栈等操作   </span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">直接跳到我们要的真实块，避免每次都要完整执行一遍直到遇到我们要的块，到时候我们用hook解决。</span></span></p></li></ul><p style="text-align: justify;"><span style="font-size: 15px;letter-spacing: 1px;background-color: transparent;"><span leaf="">你可能会好奇，那么判断这种广泛使用的功能ollvm是怎么实现的呢？这就是许多文章忽略的一点。</span></span><span style="font-size: 15px;letter-spacing: 1px;background-color: transparent;"><span leaf="">在x86汇编里，是通过cmovxx这些汇编实现的</span></span><span style="font-size: 15px;letter-spacing: 1px;background-color: transparent;"><span leaf="">在arm64下是用csel指令完成，以后遇到在说。</span></span><span style="font-size: 15px;letter-spacing: 1px;background-color: transparent;"><span leaf="">比如一个真实块</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">loc_40199B:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">mov     eax, ds:dword_603054</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">mov     ecx, ds:dword_603058</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">mov     edx, eax</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">sub</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">     edx, </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">imul    eax, edx</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">and</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">     eax, </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">cmp     eax, </span><span class="code-snippet__number">0</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">setz    sil</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">cmp     ecx, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">Ah</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">setl    dil</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">or</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      sil, dil</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">test    sil, </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">mov     eax, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">F37184F0h</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">mov     ecx, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">A105D2C4h</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">cmovnz  ecx, eax</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">mov     [rbp+var_114], ecx</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">jmp     loc_4020CC</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">cmovxx通过修改寄存器的值，影响上面分发器的分发，达到不同的块。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">但是我们angr遇到不会cmovxx这些汇编分裂出两个分支，而是通过积累一个约束实现，所以我们要手动分裂两个状态，一个执行这条，一个不执行，就会到达两不同的块，然后我们这样储存。</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">{</span><span class="code-snippet__string">&#39;0xaaaa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:[</span><span class="code-snippet__string">&#39;0xbbb&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,</span><span class="code-snippet__string">&#39;0xccc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]} </span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">左边放我们zf=1的,右边放zf=0的，方便我们接下来patch</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> logging</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> angr</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">from</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> tqdm </span><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> tqdm</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">logging.getLogger(</span><span class="code-snippet__string">&#39;angr&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">).setLevel(logging.ERROR)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">capstone_decode_cmovxx</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">insn</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    operands = insn.op_str.replace(</span><span class="code-snippet__string">&#34; &#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#34;&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">).split(</span><span class="code-snippet__string">&#34;,&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    dst_reg = operands[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    src_reg = operands[</span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;cmovxx解析结果: 目标寄存器:</span></span><span leaf=""><span class="code-snippet__string">{dst_reg}</span></span><span leaf=""><span class="code-snippet__string">, 源寄存器:</span></span><span leaf=""><span class="code-snippet__string">{src_reg}</span></span><span leaf=""><span class="code-snippet__string">&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> dst_reg, src_reg</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">find_state_succ_cmovxx</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">proj, base, local_state, flag, real_blocks, real_block_addr, path</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 仅在 find_block_succ 识别为 cmov 时调用</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    ins = local_state.block().capstone.insns[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">] </span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    dst_reg, src_reg = capstone_decode_cmovxx(ins) </span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 逻辑修正：</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># flag == True  -&gt; ZF=1 (Zero) -&gt; cmovnz (Not Zero) 条件不满足 -&gt; 不执行 Move -&gt; Pass</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># flag == False -&gt; ZF=0 (Not Zero) -&gt; cmovnz (Not Zero) 条件满足 -&gt; 执行 Move</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__keyword">not</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> flag: </span><span class="code-snippet__comment"># 需要执行 Move</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">try</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 修正：state.regs 没有 .get() 方法，用 getattr</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            src_val = </span><span class="code-snippet__built_in">getattr</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(local_state.regs, src_reg)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">setattr</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(local_state.regs, dst_reg, src_val)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">except</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> Exception </span><span class="code-snippet__keyword">as</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> e:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;寄存器访问错误: </span></span><span leaf=""><span class="code-snippet__string">{e}</span></span><span leaf=""><span class="code-snippet__string">&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 关键修正：手动跳过这条 cmov 指令！防止 Angr 再次执行它</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    local_state.regs.ip += ins.size</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    sm = proj.factory.simgr(local_state)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">while</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(sm.active)):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> active_state </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> sm.active:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">try</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                ins_offset = active_state.addr - base</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins_offset </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> real_blocks:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    value = path[real_block_addr]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins_offset </span><span class="code-snippet__keyword">not</span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> value:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                        value.append(ins_offset)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins_offset</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">except</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">pass</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        sm.step(num_inst=</span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">find_block_succ</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">proj, base, func_offset, state, real_block_addr, real_blocks, path</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    msm = proj.factory.simgr(state)  </span><span class="code-snippet__comment"># 构造模拟器</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">while</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(msm.active):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> active_state </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> msm.active:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#print(active_state.block().capstone.insns[0])</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            offset = active_state.addr - base</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#print(&#34;当前偏移地址:&#34;, hex(offset),&#34;寻找真实块:&#34;, hex(real_block_addr))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> offset == real_block_addr:  </span><span class="code-snippet__comment"># 找到真实块</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;找到真实块:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_block_addr))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                mstate = active_state.copy()  </span><span class="code-snippet__comment"># 复制state,为后继块的获取做准备</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                msm2 = proj.factory.simgr(mstate)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                msm2.step(num_inst=</span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)  </span><span class="code-snippet__comment"># 让状态进到块内的下一条指令位置，避免和外层状态混淆</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">while</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(msm2.active):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> mactive_state </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> msm2.active:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#print(mactive_state.block().capstone.insns[0])</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                        ins_offset = mactive_state.addr - base</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins_offset </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> real_blocks:  </span><span class="code-snippet__comment"># 无分支块（或无条件跳转）</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 在无条件跳转中,并且有至少两条路径同时执行到真实块时,取非ret块的真实块</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            msm2_len = </span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(msm2.active)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> msm2_len &gt; </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                                tmp_addrs = []</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> s </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> msm2.active:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                                    moffset = s.addr - base</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                                    tmp_value = path[real_block_addr]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> moffset </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> real_blocks </span><span class="code-snippet__keyword">and</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> moffset </span><span class="code-snippet__keyword">not</span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> tmp_value:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                                        tmp_addrs.append(moffset)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(tmp_addrs) &gt; </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;当前至少有两个路径同时执行到真实块:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, [</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(tmp_addr) </span><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> tmp_addr </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> tmp_addrs])</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                                    ret_addr = real_blocks[</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_blocks) - </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ret_addr </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> tmp_addrs:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                                        tmp_addrs.remove(ret_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                                    ins_offset = tmp_addrs[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;两个路径同时执行到真实块最后取得:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(ins_offset))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            value = path[real_block_addr]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins_offset </span><span class="code-snippet__keyword">not</span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> value:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                                value.append(ins_offset)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;无条件跳转块关系:</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(real_block_addr)}</span></span><span leaf=""><span class="code-snippet__string">--&gt;</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(ins_offset)}</span></span><span leaf=""><span class="code-snippet__string">&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 可能是 cmovnz 分支指令</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                        ins = mactive_state.block().capstone.insns[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins.mnemonic == </span><span class="code-snippet__string">&#39;cmovnz&#39;</span><span class="code-snippet__keyword">or</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins.mnemonic == </span><span class="code-snippet__string">&#39;cmovne&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;发现 cmovnz/cmovne 指令，进行分支处理:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(ins_offset))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#分裂双情况</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            state_true = mactive_state.copy()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            state_true_succ_addr = find_state_succ_cmovxx(proj, base, state_true, </span><span class="code-snippet__literal">True</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, real_blocks, real_block_addr, path)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            state_false = mactive_state.copy()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            state_false_succ_addr = find_state_succ_cmovxx(proj, base, state_false, </span><span class="code-snippet__literal">False</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, real_blocks, real_block_addr, path)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> state_true_succ_addr </span><span class="code-snippet__keyword">is</span><span class="code-snippet__literal">None</span><span class="code-snippet__keyword">or</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> state_false_succ_addr </span><span class="code-snippet__keyword">is</span><span class="code-snippet__literal">None</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;cmovnz/cmovne错误指令地址:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(ins_offset))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;cmovnz/cmovne后继有误:</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(real_block_addr)}</span></span><span leaf=""><span class="code-snippet__string">--&gt;</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(state_true_succ_addr) </span><span class="code-snippet__keyword">if</span><span class="code-snippet__string"> state_true_succ_addr </span><span class="code-snippet__keyword">is</span><span class="code-snippet__keyword">not</span><span class="code-snippet__literal">None</span><span class="code-snippet__keyword">else</span><span class="code-snippet__string"> state_true_succ_addr}</span></span><span leaf=""><span class="code-snippet__string">,&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__string">f&#34;</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(state_false_succ_addr) </span><span class="code-snippet__keyword">if</span><span class="code-snippet__string"> state_false_succ_addr </span><span class="code-snippet__keyword">is</span><span class="code-snippet__keyword">not</span><span class="code-snippet__literal">None</span><span class="code-snippet__keyword">else</span><span class="code-snippet__string"> state_false_succ_addr}</span></span><span leaf=""><span class="code-snippet__string">&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span class="code-snippet__string">&#34;erro&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#cmovne</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;cmovnz/cmovne分支跳转块关系:</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(real_block_addr)}</span></span><span leaf=""><span class="code-snippet__string">--&gt;</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(state_true_succ_addr)}</span></span><span leaf=""><span class="code-snippet__string"> zf = 1,  </span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(state_false_succ_addr)}</span></span><span leaf=""><span class="code-snippet__string"> zf != 1&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#print(f&#34;csel分支跳转块关系:{hex(real_block_addr)}--&gt;{hex(state_true_succ_addr)},{hex(state_false_succ_addr)}&#34;)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#与cmovnz相反</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins.mnemonic == </span><span class="code-snippet__string">&#39;cmovz&#39;</span><span class="code-snippet__keyword">or</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins.mnemonic == </span><span class="code-snippet__string">&#39;cmove&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;发现 cmovz/cmove 指令，进行分支处理:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(ins_offset))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            state_true = mactive_state.copy()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            state_true_succ_addr = find_state_succ_cmovxx(proj, base, state_true, </span><span class="code-snippet__literal">False</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, real_blocks, real_block_addr, path)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            state_false = mactive_state.copy()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                            state_false_succ_addr = find_state_succ_cmovxx(proj, base, state_false, </span><span class="code-snippet__literal">True</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, real_blocks, real_block_addr, path)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> state_true_succ_addr </span><span class="code-snippet__keyword">is</span><span class="code-snippet__literal">None</span><span class="code-snippet__keyword">or</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> state_false_succ_addr </span><span class="code-snippet__keyword">is</span><span class="code-snippet__literal">None</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;cmovz/cmove误指令地址:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(ins_offset))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;cmovz/cmove后继有误:</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(real_block_addr)}</span></span><span leaf=""><span class="code-snippet__string">--&gt;</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(state_true_succ_addr) </span><span class="code-snippet__keyword">if</span><span class="code-snippet__string"> state_true_succ_addr </span><span class="code-snippet__keyword">is</span><span class="code-snippet__keyword">not</span><span class="code-snippet__literal">None</span><span class="code-snippet__keyword">else</span><span class="code-snippet__string"> state_true_succ_addr}</span></span><span leaf=""><span class="code-snippet__string">,&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__string">f&#34;</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(state_false_succ_addr) </span><span class="code-snippet__keyword">if</span><span class="code-snippet__string"> state_false_succ_addr </span><span class="code-snippet__keyword">is</span><span class="code-snippet__keyword">not</span><span class="code-snippet__literal">None</span><span class="code-snippet__keyword">else</span><span class="code-snippet__string"> state_false_succ_addr}</span></span><span leaf=""><span class="code-snippet__string">&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span class="code-snippet__string">&#34;erro&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#cmovne</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;cmovz/cmove分支跳转块关系:</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(real_block_addr)}</span></span><span leaf=""><span class="code-snippet__string">--&gt;</span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(state_true_succ_addr)}</span></span><span leaf=""><span class="code-snippet__string"> zf = 1,  </span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(state_false_succ_addr)}</span></span><span leaf=""><span class="code-snippet__string"> zf != 1&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#print(f&#34;csel分支跳转块关系:{hex(real_block_addr)}--&gt;{hex(state_true_succ_addr)},{hex(state_false_succ_addr)}&#34;)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    msm2.step(num_inst=</span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 真实块集合中的最后一个基本块如果最后没找到后继,说明是return块,直接返回</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        msm.step(num_inst=</span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">angr_main</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">real_blocks,func_offset,file_path</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    proj = angr.Project(file_path, auto_load_libs=</span><span class="code-snippet__literal">False</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">) </span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    base = </span><span class="code-snippet__number">0</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    func_addr = base + func_offset</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    init_state = proj.factory.blank_state(addr=func_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    init_state.options.add(angr.options.CALLLESS)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    path = {addr: [] </span><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> addr </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> real_blocks}</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    ret_addr = real_blocks[</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_blocks) - </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    first_block = proj.factory.block(func_addr)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    first_block_insns = first_block.capstone.insns</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 主序言的最后一条指令</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    first_block_last_ins = first_block_insns[</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(first_block_insns) - </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(first_block_last_ins.address))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> real_block_addr </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> tqdm(real_blocks):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ret_addr == real_block_addr:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">continue</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        state = init_state.copy()</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;正在寻找:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_block_addr))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">jump_to_address</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">state</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#print(state.regs.pc)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            state.regs.pc = base + real_block_addr - </span><span class="code-snippet__number">6</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;跳转到地址:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(base + real_block_addr - </span><span class="code-snippet__number">6</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            proj.unhook(</span><span class="code-snippet__number">0x400675</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(real_block_addr),</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(func_offset))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> real_block_addr != func_offset:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;序言结束&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            proj.hook(</span><span class="code-snippet__number">0x400675</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, jump_to_address, first_block_last_ins.size)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        ret = find_block_succ(proj, base, func_offset, state, real_block_addr, real_blocks, path)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ret == </span><span class="code-snippet__string">&#34;erro&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    hex_dict = {</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(key): [</span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(value) </span><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> value </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> values]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> key, values </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> path.items()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    }</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> i </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> hex_dict.keys():</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;</span></span><span leaf=""><span class="code-snippet__string">{i}</span></span><span leaf=""><span class="code-snippet__string">:  </span></span><span leaf=""><span class="code-snippet__string">{hex_dict[i]}</span></span><span leaf=""><span class="code-snippet__string">&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(hex_dict)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> hex_dict</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">all_real_blocks: </span><span class="code-snippet__built_in">list</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">[</span><span class="code-snippet__built_in">int</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">] =[</span><span class="code-snippet__number">4195872</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4198689</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4198808</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4198878</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4198991</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199006</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199076</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199158</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199173</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199206</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199276</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199346</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199375</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199407</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199477</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199553</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199568</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199598</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199634</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199656</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199671</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199686</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199713</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199783</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199862</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199877</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199892</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199917</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199932</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200002</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200081</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200096</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200166</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200249</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200264</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200293</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200363</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200444</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200459</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200496</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200521</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200545</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200615</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200698</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200713</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200742</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200768</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200800</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200829</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200859</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200929</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201021</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201036</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201075</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201101</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201171</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201253</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201268</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201294</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201309</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201333</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201403</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201485</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201500</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201515</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201542</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201577</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201647</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201731</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201746</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201773</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201797</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201812</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201882</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201984</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201999</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202029</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202099</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202169</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202198</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202234</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202249</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202285</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202300</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202336</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202391</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202406</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202421</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202445</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202469</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202484</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202508</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202523</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202547</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202573</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202610</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202646</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202675</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202690</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202324</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">angr_main(all_real_blocks, </span><span class="code-snippet__number">0x400620</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#34;D:\\reverse\\Angr\\polyre&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">几个关键点  </span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">def </span><span class="code-snippet__built_in">jump_to_address</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(state):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    #</span><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(state.regs.pc)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    state.regs.pc = base + real_block_addr - </span><span class="code-snippet__number">6</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;跳转到地址:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">hex</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(base + real_block_addr - </span><span class="code-snippet__number">6</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    proj.</span><span class="code-snippet__built_in">unhook</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">x400675)</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">我们通过hook主分发器的最后一个指令，运行到直接跳到我们要的块，然后记得unhook，不然到时候执行回来又跳到那里去了，就循环了。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">为什么要 -6，我只能说理论上应该不用加偏移，但是实际上不加的化angr不能正确的识别指令，capstone解码出来的混乱的，这个-6是我摸索出来的，如果不行你们可以试试别的，记得把汇编输出出来对一下就行（我把它注释了）</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">运行结果：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x400620:  [</span><span class="code-snippet__string">&#39;0x401121&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401121:  [</span><span class="code-snippet__string">&#39;0x401198&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401198:  [</span><span class="code-snippet__string">&#39;0x401f60&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4011de&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4011de:  [</span><span class="code-snippet__string">&#39;0x401f60&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40124f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40124f:  [</span><span class="code-snippet__string">&#39;0x40125e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40125e:  [</span><span class="code-snippet__string">&#39;0x401f97&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4012a4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4012a4:  [</span><span class="code-snippet__string">&#39;0x401f97&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4012f6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4012f6:  [</span><span class="code-snippet__string">&#39;0x401305&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401305:  [</span><span class="code-snippet__string">&#39;0x401326&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401326:  [</span><span class="code-snippet__string">&#39;0x401fa6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40136c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40136c:  [</span><span class="code-snippet__string">&#39;0x401fa6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4013b2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4013b2:  [</span><span class="code-snippet__string">&#39;0x4015d4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4013cf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4013cf:  [</span><span class="code-snippet__string">&#39;0x4013ef&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4013ef:  [</span><span class="code-snippet__string">&#39;0x401fb5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401435&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401435:  [</span><span class="code-snippet__string">&#39;0x401fb5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401481&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401481:  [</span><span class="code-snippet__string">&#39;0x401490&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401490:  [</span><span class="code-snippet__string">&#39;0x4014ae&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4014f7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4014ae:  [</span><span class="code-snippet__string">&#39;0x4014d2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4014d2:  [</span><span class="code-snippet__string">&#39;0x4014e8&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4014e8:  [</span><span class="code-snippet__string">&#39;0x4015d4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4014f7:  [</span><span class="code-snippet__string">&#39;0x401506&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401506:  [</span><span class="code-snippet__string">&#39;0x401521&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401521:  [</span><span class="code-snippet__string">&#39;0x401fcd&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401567&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401567:  [</span><span class="code-snippet__string">&#39;0x401fcd&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4015b6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4015b6:  [</span><span class="code-snippet__string">&#39;0x4015c5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4015c5:  [</span><span class="code-snippet__string">&#39;0x40125e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4015d4:  [</span><span class="code-snippet__string">&#39;0x4015ed&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4015ed:  [</span><span class="code-snippet__string">&#39;0x4015fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4015fc:  [</span><span class="code-snippet__string">&#39;0x401fe5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401642&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401642:  [</span><span class="code-snippet__string">&#39;0x401fe5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401691&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401691:  [</span><span class="code-snippet__string">&#39;0x4016a0&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4016a0:  [</span><span class="code-snippet__string">&#39;0x401ff4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4016e6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4016e6:  [</span><span class="code-snippet__string">&#39;0x401ff4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401739&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401739:  [</span><span class="code-snippet__string">&#39;0x401748&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401748:  [</span><span class="code-snippet__string">&#39;0x401d54&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401765&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401765:  [</span><span class="code-snippet__string">&#39;0x40200c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4017ab&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4017ab:  [</span><span class="code-snippet__string">&#39;0x40200c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4017fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4017fc:  [</span><span class="code-snippet__string">&#39;0x40180b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40180b:  [</span><span class="code-snippet__string">&#39;0x401830&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401830:  [</span><span class="code-snippet__string">&#39;0x401849&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401849:  [</span><span class="code-snippet__string">&#39;0x401861&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401861:  [</span><span class="code-snippet__string">&#39;0x40201b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4018a7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4018a7:  [</span><span class="code-snippet__string">&#39;0x40201b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4018fa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4018fa:  [</span><span class="code-snippet__string">&#39;0x401909&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401909:  [</span><span class="code-snippet__string">&#39;0x401c2b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401926&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401926:  [</span><span class="code-snippet__string">&#39;0x401940&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401940:  [</span><span class="code-snippet__string">&#39;0x401960&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401960:  [</span><span class="code-snippet__string">&#39;0x401a73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40197d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40197d:  [</span><span class="code-snippet__string">&#39;0x40199b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40199b:  [</span><span class="code-snippet__string">&#39;0x402033&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4019e1&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4019e1:  [</span><span class="code-snippet__string">&#39;0x402033&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401a3d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401a3d:  [</span><span class="code-snippet__string">&#39;0x401a4c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401a4c:  [</span><span class="code-snippet__string">&#39;0x401b4e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401a73:  [</span><span class="code-snippet__string">&#39;0x401a8d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401a8d:  [</span><span class="code-snippet__string">&#39;0x40204d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401ad3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401ad3:  [</span><span class="code-snippet__string">&#39;0x40204d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401b25&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401b25:  [</span><span class="code-snippet__string">&#39;0x401b34&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401b34:  [</span><span class="code-snippet__string">&#39;0x401b4e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401b4e:  [</span><span class="code-snippet__string">&#39;0x401b5d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401b5d:  [</span><span class="code-snippet__string">&#39;0x401b75&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401b75:  [</span><span class="code-snippet__string">&#39;0x402072&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401bbb&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401bbb:  [</span><span class="code-snippet__string">&#39;0x402072&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401c0d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401c0d:  [</span><span class="code-snippet__string">&#39;0x401c1c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401c1c:  [</span><span class="code-snippet__string">&#39;0x401849&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401c2b:  [</span><span class="code-snippet__string">&#39;0x401c46&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401c46:  [</span><span class="code-snippet__string">&#39;0x401c69&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401c69:  [</span><span class="code-snippet__string">&#39;0x402096&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401caf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401caf:  [</span><span class="code-snippet__string">&#39;0x402096&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d03&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401d03:  [</span><span class="code-snippet__string">&#39;0x401d12&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401d12:  [</span><span class="code-snippet__string">&#39;0x401d2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401d2d:  [</span><span class="code-snippet__string">&#39;0x401d45&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401d45:  [</span><span class="code-snippet__string">&#39;0x4015fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401d54:  [</span><span class="code-snippet__string">&#39;0x4020b3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d9a&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401d9a:  [</span><span class="code-snippet__string">&#39;0x4020b3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401e00&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401e00:  [</span><span class="code-snippet__string">&#39;0x401e0f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401e0f:  [</span><span class="code-snippet__string">&#39;0x401e2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401e2d:  [</span><span class="code-snippet__string">&#39;0x4020c2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401e73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401e73:  [</span><span class="code-snippet__string">&#39;0x4020c2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401eb9&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401eb9:  [</span><span class="code-snippet__string">&#39;0x401ed6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401f09&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401ed6:  [</span><span class="code-snippet__string">&#39;0x401efa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401efa:  [</span><span class="code-snippet__string">&#39;0x401f3c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401f09:  [</span><span class="code-snippet__string">&#39;0x401f2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401f2d:  [</span><span class="code-snippet__string">&#39;0x401f3c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401f3c:  [</span><span class="code-snippet__string">&#39;0x401f54&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401f60:  [</span><span class="code-snippet__string">&#39;0x4011de&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401f97:  [</span><span class="code-snippet__string">&#39;0x4012a4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401fa6:  [</span><span class="code-snippet__string">&#39;0x40136c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401fb5:  [</span><span class="code-snippet__string">&#39;0x401435&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401fcd:  [</span><span class="code-snippet__string">&#39;0x401567&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401fe5:  [</span><span class="code-snippet__string">&#39;0x401642&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401ff4:  [</span><span class="code-snippet__string">&#39;0x4016e6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40200c:  [</span><span class="code-snippet__string">&#39;0x4017ab&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40201b:  [</span><span class="code-snippet__string">&#39;0x4018a7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x402033:  [</span><span class="code-snippet__string">&#39;0x4019e1&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x40204d:  [</span><span class="code-snippet__string">&#39;0x401ad3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x402072:  [</span><span class="code-snippet__string">&#39;0x401bbb&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x402096:  [</span><span class="code-snippet__string">&#39;0x401caf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4020b3:  [</span><span class="code-snippet__string">&#39;0x401d9a&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x4020c2:  [</span><span class="code-snippet__string">&#39;0x401e73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">0x401f54:  []</span></span></code></pre></p><div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;line-height: 0;box-sizing: border-box;"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="margin: 0px 0px -13px;box-sizing: border-box;"><div style="text-align: center;font-size: 17px;color: rgb(0, 0, 0);line-height: 1.6;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">02</span></strong></p></div></div></div></div></div><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 10px;box-sizing: border-box;"><div style="margin: 1px 0px 0px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">patch</span></strong></p></div></div></div></div></div></div><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">假如只有一个后继的，我们直接把最后一条指令patch为：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">jmp 后继地址</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">假如有双后继，根据我们前面说的，列表左边是zf=1，右边是zf=0，从cmovxx开始，patch为：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">jz 列表左侧地址</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">jmp 列表右侧地址</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">剩下的地方用nop填充，然后再后面把没用到的块给nop了。</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">from</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> collections </span><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> deque</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ida_funcs</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> idaapi</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> idautils</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> idc</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> keystone</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">patch_ins_to_nop</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">ins</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    size = idc.get_item_size(ins)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> i </span><span class="code-snippet__keyword">in</span><span class="code-snippet__built_in">range</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(size):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        idc.patch_byte(ins + i,</span><span class="code-snippet__number">0x90</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">patch_bytes</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">addr, data</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> i, b </span><span class="code-snippet__keyword">in</span><span class="code-snippet__built_in">enumerate</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(data):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        idc.patch_byte(addr + i, b)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">fill_nop</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">start_ea, end_ea</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># [FIX 1] 应该是 end - start，否则是负数</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    size = end_ea - start_ea </span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> size &gt; </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># [FIX 2] 使用 patch_bytes 批量写入</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        patch_bytes(start_ea, </span><span class="code-snippet__string">b&#39;\x90&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> * size)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">get_block_by_address</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">ea</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    func = idaapi.get_func(ea)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    blocks = idaapi.FlowChart(func)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> block </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> blocks:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> block.start_ea &lt;= ea &lt; block.end_ea:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> block</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span class="code-snippet__literal">None</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">generate_jmp_code</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">src, dst</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># E9 xx xx xx xx</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    offset = dst - (src + </span><span class="code-snippet__number">5</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span class="code-snippet__string">b&#39;\xE9&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> + offset.to_bytes(</span><span class="code-snippet__number">4</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;little&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, signed=</span><span class="code-snippet__literal">True</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">generate_jz_code</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">src, dst</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 0F 84 xx xx xx xx</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    offset = dst - (src + </span><span class="code-snippet__number">6</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span class="code-snippet__string">b&#39;\x0F\x84&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> + offset.to_bytes(</span><span class="code-snippet__number">4</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;little&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, signed=</span><span class="code-snippet__literal">True</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">patch_branch</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">patch_dict</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ea </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> patch_dict:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        values = patch_dict[ea]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(values) == </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span><span class="code-snippet__comment">#如果后继块为0,基本都是return块,不需要patch,直接跳过</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">continue</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        block = get_block_by_address(</span><span class="code-snippet__built_in">int</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(ea, </span><span class="code-snippet__number">16</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        start_ea = block.start_ea</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        end_ea = block.end_ea</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        last_ins_ea = idc.prev_head(end_ea)</span><span class="code-snippet__comment">#因为block.end_ea获取的地址是块最后一个地址的下一个地址,所以需要向上取一个地址</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(values) == </span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ins </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> idautils.Heads(start_ea,end_ea):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> idc.print_insn_mnem(ins).startswith(</span><span class="code-snippet__string">&#34;cmov&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;find cmov&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    jz_code = generate_jz_code(ins, </span><span class="code-snippet__built_in">int</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(values[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">],</span><span class="code-snippet__number">16</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    jmp_code = generate_jmp_code(ins + </span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(jz_code), </span><span class="code-snippet__built_in">int</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(values[</span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">],</span><span class="code-snippet__number">16</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># [FIX 2] 实际写入内存！</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    patch_bytes(ins, jz_code)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    patch_bytes(ins + </span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(jz_code), jmp_code)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 3. 填充 NOP</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    nop_start = ins + </span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(jz_code) + </span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(jmp_code)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                    fill_nop(nop_start, end_ea)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(values) == </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            mnem = idc.print_insn_mnem(last_ins_ea)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> mnem.startswith(</span><span class="code-snippet__string">&#34;jmp&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                jmp_code = generate_jmp_code(last_ins_ea, </span><span class="code-snippet__built_in">int</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(values[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">],</span><span class="code-snippet__number">16</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                patch_bytes(last_ins_ea, jmp_code)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                nop_start = last_ins_ea + </span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(jmp_code)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">                fill_nop(nop_start, end_ea)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">find_all_useless_block</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">func_ea,real_blocks</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    blocks = idaapi.FlowChart(idaapi.get_func(func_ea))</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    local_real_blocks = real_blocks.copy()</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    useless_blocks = []</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># local_real_blocks.extend(succ.start_ea for succ in cur_block.succs())</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> block </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> blocks:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        start_ea = block.start_ea</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        end_ea = block.end_ea</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> start_ea </span><span class="code-snippet__keyword">not</span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> local_real_blocks:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            useless_blocks.append([start_ea,end_ea])</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;所有的无用块:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">,[b </span><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> b </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> useless_blocks])</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> useless_blocks</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">patch_useless_blocks</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__params">useless_blocks</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># print(useless_blocks)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> useless_block </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> useless_blocks:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">f&#34;Nop-ing useless block from </span></span><span leaf=""><span class="code-snippet__string">{</span><span class="code-snippet__built_in">hex</span><span class="code-snippet__string">(useless_block[</span><span class="code-snippet__number">0</span><span class="code-snippet__string">])}</span></span><span leaf=""><span class="code-snippet__string"> to </span></span><span leaf=""><span class="code-snippet__string">{useless_block[</span><span class="code-snippet__number">1</span><span class="code-snippet__string">]}</span></span><span leaf=""><span class="code-snippet__string">&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        fill_nop(useless_block[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], useless_block[</span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">])</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;无用块nop完成&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">func_ea = </span><span class="code-snippet__number">0x400620</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">all_real_blocks =[</span><span class="code-snippet__number">4195872</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4198689</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4198808</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4198878</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4198991</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199006</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199076</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199158</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199173</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199206</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199276</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199346</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199375</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199407</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199477</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199553</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199568</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199598</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199634</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199656</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199671</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199686</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199713</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199783</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199862</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199877</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199892</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199917</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4199932</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200002</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200081</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200096</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200166</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200249</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200264</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200293</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200363</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200444</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200459</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200496</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200521</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200545</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200615</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200698</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200713</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200742</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200768</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200800</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200829</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200859</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4200929</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201021</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201036</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201075</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201101</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201171</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201253</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201268</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201294</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201309</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201333</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201403</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201485</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201500</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201515</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201542</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201577</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201647</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201731</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201746</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201773</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201797</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201812</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201882</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201984</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4201999</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202029</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202099</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202169</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202198</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202234</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202249</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202285</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202300</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202336</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202391</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202406</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202421</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202445</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202469</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202484</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202508</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202523</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202547</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202573</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202610</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202646</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202675</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202690</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">4202324</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">useless_blocks = find_all_useless_block(func_ea,all_real_blocks)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">patch_branch({</span><span class="code-snippet__string">&#39;0x400620&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401121&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401121&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401198&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401198&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401f60&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4011de&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4011de&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401f60&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40124f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40124f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40125e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40125e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401f97&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4012a4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4012a4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401f97&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4012f6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4012f6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401305&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401305&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401326&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401326&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401fa6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40136c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40136c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401fa6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4013b2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4013b2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4015d4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4013cf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4013cf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4013ef&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4013ef&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401fb5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401435&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401435&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401fb5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401481&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401481&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401490&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401490&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4014ae&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4014f7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4014ae&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4014d2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4014d2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4014e8&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4014e8&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4015d4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4014f7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401506&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401506&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401521&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401521&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401fcd&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401567&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401567&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401fcd&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4015b6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4015b6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4015c5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4015c5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40125e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4015d4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4015ed&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4015ed&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4015fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4015fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401fe5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401642&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401642&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401fe5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401691&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401691&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4016a0&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4016a0&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401ff4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4016e6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4016e6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401ff4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401739&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401739&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401748&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401748&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401d54&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401765&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401765&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40200c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4017ab&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4017ab&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40200c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4017fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4017fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40180b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40180b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401830&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401830&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401849&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401849&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401861&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401861&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40201b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4018a7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4018a7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40201b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4018fa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4018fa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401909&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401909&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401c2b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401926&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401926&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401940&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401940&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401960&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401960&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401a73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x40197d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40197d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40199b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40199b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x402033&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x4019e1&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4019e1&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x402033&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401a3d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401a3d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401a4c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401a4c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401b4e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401a73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401a8d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401a8d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40204d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401ad3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401ad3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40204d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401b25&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401b25&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401b34&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401b34&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401b4e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401b4e&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401b5d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401b5d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401b75&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401b75&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x402072&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401bbb&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401bbb&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x402072&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401c0d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401c0d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401c1c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401c1c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401849&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401c2b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401c46&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401c46&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401c69&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401c69&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x402096&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401caf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401caf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x402096&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d03&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401d03&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401d12&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401d12&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401d2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401d2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401d45&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401d45&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4015fc&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401d54&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4020b3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401d9a&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401d9a&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4020b3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401e00&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401e00&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401e0f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401e0f&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401e2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401e2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4020c2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401e73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401e73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4020c2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401eb9&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401eb9&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401ed6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__string">&#39;0x401f09&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401ed6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401efa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401efa&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401f3c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401f09&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401f2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401f2d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401f3c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401f3c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401f54&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401f60&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4011de&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401f97&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4012a4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401fa6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x40136c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401fb5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401435&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401fcd&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401567&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401fe5&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401642&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401ff4&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4016e6&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40200c&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4017ab&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40201b&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4018a7&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x402033&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x4019e1&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x40204d&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401ad3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x402072&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401bbb&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x402096&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401caf&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4020b3&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401d9a&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x4020c2&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: [</span><span class="code-snippet__string">&#39;0x401e73&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">], </span><span class="code-snippet__string">&#39;0x401f54&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">: []})</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">patch_useless_blocks(useless_blocks)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">ida_funcs.reanalyze_function(ida_funcs.get_func(func_ea))</span><span class="code-snippet__comment">#刷新函数控制流图</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;控制流图已刷新&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">)</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">这里一个小细节,我们先找出所有的无用块列表，得到开始地址与结束地址，然后在进行控制流的patch，最后根据前面获取的无用块列表，nop无用块，如果先patch控制流在寻找无用块，找出来的无用块是错误的。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">恢复完的到代码：   </span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">__int64 __fastcall </span><span class="code-snippet__title">main</span><span class="code-snippet__params">(</span></span><span leaf=""><span class="code-snippet__params">int</span></span><span leaf=""><span class="code-snippet__params"> a1, </span></span><span leaf=""><span class="code-snippet__params">char</span></span><span leaf=""><span class="code-snippet__params"> **a2, </span></span><span leaf=""><span class="code-snippet__params">char</span></span><span leaf=""><span class="code-snippet__params"> **a3)</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">{</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">signed</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> __int64 v4; </span><span class="code-snippet__comment">// [rsp+1E0h] [rbp-110h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> n6; </span><span class="code-snippet__comment">// [rsp+1E8h] [rbp-108h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> n64; </span><span class="code-snippet__comment">// [rsp+1ECh] [rbp-104h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> n64_1; </span><span class="code-snippet__comment">// [rsp+1ECh] [rbp-104h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  _BYTE s1[</span><span class="code-snippet__number">48</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]; </span><span class="code-snippet__comment">// [rsp+1F0h] [rbp-100h] BYREF</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  _BYTE s[</span><span class="code-snippet__number">60</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]; </span><span class="code-snippet__comment">// [rsp+220h] [rbp-D0h] BYREF</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">unsigned</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v10; </span><span class="code-snippet__comment">// [rsp+25Ch] [rbp-94h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  _BYTE *p_s; </span><span class="code-snippet__comment">// [rsp+260h] [rbp-90h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> n64_3; </span><span class="code-snippet__comment">// [rsp+26Ch] [rbp-84h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">bool</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v13; </span><span class="code-snippet__comment">// [rsp+272h] [rbp-7Eh]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">unsigned</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> __int8 n10; </span><span class="code-snippet__comment">// [rsp+273h] [rbp-7Dh]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> n10_1; </span><span class="code-snippet__comment">// [rsp+274h] [rbp-7Ch]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  _BYTE *v16; </span><span class="code-snippet__comment">// [rsp+278h] [rbp-78h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v17; </span><span class="code-snippet__comment">// [rsp+284h] [rbp-6Ch]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> n6_1; </span><span class="code-snippet__comment">// [rsp+288h] [rbp-68h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">bool</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v19; </span><span class="code-snippet__comment">// [rsp+28Fh] [rbp-61h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  _BYTE *p_s_1; </span><span class="code-snippet__comment">// [rsp+290h] [rbp-60h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> n64_4; </span><span class="code-snippet__comment">// [rsp+298h] [rbp-58h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">bool</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v22; </span><span class="code-snippet__comment">// [rsp+29Fh] [rbp-51h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">signed</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> __int64 v23; </span><span class="code-snippet__comment">// [rsp+2A0h] [rbp-50h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">bool</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v24; </span><span class="code-snippet__comment">// [rsp+2AFh] [rbp-41h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  __int64 v25; </span><span class="code-snippet__comment">// [rsp+2B0h] [rbp-40h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  __int64 v26; </span><span class="code-snippet__comment">// [rsp+2B8h] [rbp-38h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">signed</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> __int64 v27; </span><span class="code-snippet__comment">// [rsp+2C0h] [rbp-30h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  __int64 v28; </span><span class="code-snippet__comment">// [rsp+2C8h] [rbp-28h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> n64_2; </span><span class="code-snippet__comment">// [rsp+2D0h] [rbp-20h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v30; </span><span class="code-snippet__comment">// [rsp+2D4h] [rbp-1Ch]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">signed</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> __int64 *v31; </span><span class="code-snippet__comment">// [rsp+2D8h] [rbp-18h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v32; </span><span class="code-snippet__comment">// [rsp+2E0h] [rbp-10h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">int</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v33; </span><span class="code-snippet__comment">// [rsp+2E4h] [rbp-Ch]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">bool</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v34; </span><span class="code-snippet__comment">// [rsp+2EBh] [rbp-5h]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  v10 = </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">memset</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(s, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x30</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">u);</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">memset</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(s1, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">sizeof</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(s1));</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">printf</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;Input:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">);</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  p_s = s;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  __isoc99_scanf(</span><span class="code-snippet__string">&#34;%s&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, s);</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( n64 = </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">; ; ++n64 )</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  {</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    n64_3 = n64;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    v13 = n64 &lt; </span><span class="code-snippet__number">64</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( n64 &gt;= </span><span class="code-snippet__number">64</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> )</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">break</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    n10 = s[n64];</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    n10_1 = n10;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( n10 == </span><span class="code-snippet__number">10</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> )</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    {</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      v16 = &amp;s[n64];</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      *v16 = </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">break</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    }</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    v17 = n64 + </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  }</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( n6 = </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">; ; ++n6 )</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  {</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    n6_1 = n6;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    v19 = n6 &lt; </span><span class="code-snippet__number">6</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( n6 &gt;= </span><span class="code-snippet__number">6</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> )</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">break</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    p_s_1 = s;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    v4 = *(_QWORD *)&amp;s[</span><span class="code-snippet__number">8</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> * n6];</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( n64_1 = </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">; ; ++n64_1 )</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    {</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      n64_4 = n64_1;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      v22 = n64_1 &lt; </span><span class="code-snippet__number">64</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( n64_1 &gt;= </span><span class="code-snippet__number">64</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> )</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">break</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      v23 = v4;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      v24 = v4 &lt; </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( v4 &gt;= </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> )</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      {</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        v27 = v4;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        v28 = </span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> * v4;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        v4 *= </span><span class="code-snippet__number">2LL</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      }</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">else</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      {</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        v25 = </span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> * v4;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        v26 = </span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> * v4;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">        v4 = (</span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> * v4) ^ </span><span class="code-snippet__number">0xB0004B7679FA26B3</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">LL;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      }</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">      n64_2 = n64_1;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    }</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    v30 = </span><span class="code-snippet__number">8</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> * n6;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    v31 = (</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">signed</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> __int64 *)&amp;s1[</span><span class="code-snippet__number">8</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> * n6];</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    *v31 = v4;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    v32 = n6 + </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  }</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  v33 = </span><span class="code-snippet__built_in">memcmp</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(s1, &amp;s2_, </span><span class="code-snippet__number">0x30</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">u);</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">  v34 = v33 != </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> ( v33 )</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">puts</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;Wrong!&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">);</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">else</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">puts</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;Correct!&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">);</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> v10;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">}</span></span></code></pre></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">最后exp:    </span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin-top: 0px;margin-bottom: 0px;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> struct</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># Data from s2_</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">s2_bytes = [</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0x96</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x62</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x53</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x43</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x6d</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xf2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x8f</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xbc</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0x16</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xee</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x30</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x5</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x78</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x52</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0xec</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x8</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x5f</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x93</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xea</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xb5</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xc0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x4d</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0x50</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xf4</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x53</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xd8</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xaf</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x90</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x2b</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x34</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0x81</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x36</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x2c</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xaa</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xbc</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xe</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x25</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x8b</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0xe4</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x8a</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xc6</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0xa2</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x81</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x9f</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x75</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__number">0x55</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">POLY = </span><span class="code-snippet__number">0xB0004B7679FA26B3</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># Convert bytes to QWORDs (little endian)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">qwords = []</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> i </span><span class="code-snippet__keyword">in</span><span class="code-snippet__built_in">range</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(s2_bytes), </span><span class="code-snippet__number">8</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    chunk = s2_bytes[i:i+</span><span class="code-snippet__number">8</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    val = struct.unpack(</span><span class="code-snippet__string">&#39;&lt;Q&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, </span><span class="code-snippet__built_in">bytes</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(chunk))[</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    qwords.append(val)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">start_vals = []</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> val </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> qwords:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    curr = val</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> _ </span><span class="code-snippet__keyword">in</span><span class="code-snippet__built_in">range</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__number">64</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> curr &amp; </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            curr = (curr ^ POLY) &gt;&gt; </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            curr |= </span><span class="code-snippet__number">0x8000000000000000</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">else</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">            curr = curr &gt;&gt; </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    start_vals.append(curr)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># Convert back to bytes</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">flag = </span><span class="code-snippet__string">b&#39;&#39;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> val </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;"> start_vals:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">    flag += struct.pack(</span><span class="code-snippet__string">&#39;&lt;Q&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, val)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(flag)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">try</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">(</span><span class="code-snippet__string">&#34;Flag:&#34;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">, flag.decode(</span><span class="code-snippet__string">&#39;utf-8&#39;</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">))</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">except</span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;">:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">pass</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#flag{6ff29390-6c20-4c56-ba70-a95758e3d1f8}</span></span></code></pre></p></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;caret-color: rgb(51, 51, 51);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);letter-spacing: 1px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: auto;margin-left: auto;padding: 15px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;font-variant-numeric: normal;letter-spacing: 0.544px;line-height: 27.2px;width: 656.688px;justify-content: space-between;align-items: center;flex-direction: row;box-shadow: rgb(217, 218, 218) 0px 0px 10px;background-color: rgb(232, 234, 235);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;justify-content: flex-start;align-items: center;flex-direction: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;border-width: 1px;border-style: solid;border-color: rgb(182, 182, 187);border-radius: 50%;width: 70px;height: 70px;overflow: hidden;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="128" style="-webkit-tap-highlight-color:transparent;outline:0px;border-style:none;letter-spacing:0.544px;display:inline;width:68px;visibility:visible !important;height:68px;" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_png/Cpo2XCpI7K1sXrcIOMDBh59u5xbuC8Gb3Q8fpLCy3NoNoMcON2xkRpwJrbctBISh1uozVnI77hFzDeROEoGicDQy8wuichQiaWxqeW02N0vibQs/0?wx_fmt=png&amp;from=appmsg" data-cropselx1="0" data-cropselx2="68" data-cropsely1="0" data-cropsely2="68" data-imgfileid="311134982" src="https://wechat2rss.xlab.app/img-proxy/?k=b01abd32&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1sXrcIOMDBh59u5xbuC8Gb3Q8fpLCy3NoNoMcON2xkRpwJrbctBISh1uozVnI77hFzDeROEoGicDQy8wuichQiaWxqeW02N0vibQs%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-left: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;align-items: flex-start;justify-content: center;flex-direction: column;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" data-immersive-translate-paragraph="1" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 15px;letter-spacing: 1px;font-weight: bolder;"><span leaf="">看雪ID：</span><span leaf=""><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">Qmeimei10086</span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;vertical-align: inherit;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 14px;letter-spacing: normal;"><span leaf=""><span textstyle="" style="letter-spacing: normal;font-style: italic;"><a href="https://bbs.kanxue.com/user-home-1055387.htm" target="_blank">https://bbs.kanxue.com/user-home-1055387.htm</a></span></span></span></p></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;min-height: 1em;background-color: rgb(255, 255, 255);"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 14px;color: rgb(136, 136, 136);"><span leaf="">*本文为看雪论坛优秀文章，由 </span><span leaf="">Qmeimei10086</span><span leaf="">原创，转载请注明来自看雪社区</span></span></p><div style="text-align: center;margin-left: 0px;margin-right: 0px;"><p style="text-align: center;margin-top: 16px;"><a href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458616439&amp;idx=1&amp;sn=ed63972eed0764f9dc562e899e512e05&amp;scene=21#wechat_redirect" imgurl="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/640?wx_fmt=jpeg&amp;from=appmsg" linktype="image" tab="innerlink" data-itemshowtype="0" target="_blank" data-linktype="1"><span style="width:100%;" class="js_jump_icon h5_image_link"><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40390625" data-s="300,640" data-type="jpeg" data-w="1280" style="width:100%;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/0?wx_fmt=jpeg&amp;from=appmsg" data-cropselx2="578" data-cropsely2="294" data-imgfileid="311132601" src="https://wechat2rss.xlab.app/img-proxy/?k=34c8b770&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></span></a></p><p style="text-align: center;"><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">第十届安全开发者峰会【</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;margin-left: 0px;margin-right: 0px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">议题征集</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">】-欢迎投稿</span></span></p></div><div mpa-from-tpl="t" data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 16px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: 645px;vertical-align: top;background-color: rgb(248, 248, 248);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 20px;margin-bottom: 20px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;flex-flow: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: 30px;margin-left: 30px;-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: auto;vertical-align: top;flex: 100 100 0%;height: auto;align-self: flex-start;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(68, 73, 85);" data-mpa-action-id="mpz85kk210x5" data-pm-slice="0 0 []"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;font-weight: bolder;letter-spacing: 1px;font-size: 15px;color: rgb(2, 30, 170);" data-mpa-action-id="mc4gkooxw4z"><span style="color: rgb(2, 30, 170);font-size: 15px;" mpa-font-style="md8f6c2zutc"><span style="color: rgb(2, 30, 170);font-size: 14px;" mpa-font-style="mpz85kjeogg"><span leaf=""><span textstyle="" style="color: rgb(2, 30, 170);"># 往期推荐</span></span></span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618507&amp;idx=1&amp;sn=77bdb73ed02c2ca4234d6e63120c9282&amp;scene=21#wechat_redirect" textvalue="从 r0capture 到 eCapture：Hermes Agent 自动抓包在真实任务里的价值" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">从 r0capture 到 eCapture：Hermes Agent 自动抓包在真实任务里的价值</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618459&amp;idx=1&amp;sn=b445b8909b73c5c33e80ec7bbf7d351f&amp;scene=21#wechat_redirect" textvalue="Kali 下 Android Studio 无法输入中文的问题排查与解决" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">Kali 下 Android Studio 无法输入中文的问题排查与解决</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618431&amp;idx=1&amp;sn=6fb037cb1e411b795256e427858c349c&amp;scene=21#wechat_redirect" textvalue="Intel 酷睿 CPU Management Engine 固件研究与分析逆向：实战DCI链接与ME解锁尝试" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">Intel 酷睿 CPU Management Engine 固件研究与分析逆向：实战DCI链接与ME解锁尝试</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618398&amp;idx=2&amp;sn=533b3c8caabaee9461f35aad0b407035&amp;scene=21#wechat_redirect" textvalue="记一次入门级DexVMP分析" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">记一次入门级DexVMP分析</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618348&amp;idx=2&amp;sn=d9c412412014b4d272cd580be7c52053&amp;scene=21#wechat_redirect" textvalue="DirtyFrag浅析及一条新的攻击路径" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">DirtyFrag浅析及一条新的攻击路径</span></a></span></p></div></div></div></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;" nodeleaf=""><img data-aistatus="1" alt="图片" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="-webkit-tap-highlight-color: transparent;outline: 0px;border-style: none;color: rgb(102, 102, 102);font-family: 微软雅黑;font-size: 15px;letter-spacing: 0.544px;widows: 1;display: inline;width: 661px !important;visibility: visible !important;" width="661px" data-backw="562" data-backh="263" data-copyright="0" data-fileid="100035996" data-imgfileid="311109982" src="https://wechat2rss.xlab.app/img-proxy/?k=e6b64b01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FUia4617poZXP96fGaMPXib13V1bJ52yHq9ycD9Zv3WhiaRb2rKV6wghrNa4VyFR2wibBVNfZt3M5IuUiauQGHvxhQrA%2F640%3Fwx_fmt%3Dother%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1%26tp%3Dwebp"/></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111351" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 13px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111352" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111353" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111354" src="https://wechat2rss.xlab.app/img-proxy/?k=6ec9988e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpUHZDmkBpJ4khdIdVhiaSyOkxtAWuxJuTAs8aXISicVVUbxX09b1IWK0g%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 15px;box-sizing: border-box;"><span leaf="">点击阅读原文查看更多</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://bbs.kanxue.com/thread-292240.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=15ac4a5f&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618672%26idx%3D1%26sn%3D65f71de667d50fdef9073b6b60fb5d91">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 14 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>招人！60-70K～招智驾安全、IoT 渗透、大模型安全工程师</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618672&amp;idx=2&amp;sn=0912f6abdfaf6969f1e9d7b496e8555d</link>
      <description>技术岗直投</description>
      <content:encoded><![CDATA[<p><span>看雪招聘</span> <span>2026-08-14 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=cc1bc030&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K3FRiazaMl2XqMsqlrPRz6jYEpqdytsLbVbEFXK81k8ElMqFVcvJ8XtmA6OD7F7t5keKtA3hax9vs3ziccjyE19iam7qiasVFUYZCs%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>技术岗直投</p>
  <div style="font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="text-align: center;line-height: 1;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">本周招聘专场上线！</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">多家网安头部企业直招</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">覆盖传感器安全、逆向分析、内核开发等方向</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">扫码查看岗位，一键投递</span></p></div><div><p style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;text-align: center;margin-bottom: 16px;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.26296296296296295" data-s="300,640" data-type="jpeg" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-backw="562" data-backh="148" data-imgfileid="311131765" src="https://wechat2rss.xlab.app/img-proxy/?k=4e1f63de&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3xLHo131sg6myx3iajz3nkG28ptRgNwLjuiacUH38wpMxc89abDnpvBTIbPELbUIZF7qt9Z5Loicxeiamib3wMUhd7vEKcHV4YAm8Q%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="3 3 []"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">01</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">伺服动态（南京）科技有限公司</span></b></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">逆向工程师</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">20-30k</span></span></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：南京市溧水区润淮大道28号</span></strong></p><p><span leaf=""><span textstyle="" style="font-weight: bold;">职位描述</span></span></p><p><span leaf="">1. 负责软件的逆向研究工作，包括但不限于软件的逆向分析、漏洞挖掘、协议分析等。有1年以上软件逆向分析开发经验，有嵌入式、芯片、FPGA逆向开发经验者优先；</span></p><p><span leaf="">2. 解决软件分析和应用过程中遇到的实际问题，进行技术预研和难点攻关；</span></p><p><span leaf="">3. 对现有软件进行优化和维护，提升软件的稳定性、可靠性能；</span></p><p><span leaf="">4. 根据需要，编写项目相关文档，包括技术报告、分析文档等。</span></p><p><span leaf=""><span textstyle="" style="font-weight: bold;">任职要求</span></span></p><p><span leaf="">1. 3-5 年 Windows 软件逆向分析经验，大专/本科及以上学历，计算机科学、电子工程、信息安全、软件、电子、自动化或相关专业；</span></p><p><span leaf="">2. 精通 Windows 平台下的逆向工程技术，熟练使用 IDA Pro、OllyDbg、WinDbg 等工具。熟悉汇编语言和 C/C++ 等编程语言，具备较强的逆向分析和代码跟踪能力；</span></p><p><span leaf="">3. 熟悉 Windows 系统原理，包括内核机制、驱动程序开发等。熟常见的加解密算法和通信协议，具备协议分析和逆向能力。负责对特定Windows软件（C/C++、C#）进行逆向分析，破解软件加密和安全验证的逻辑策略；</span></p><p><span leaf="">负责针对实际业务需求开发特定工具软件；</span></p><p><span leaf="">4. 具有强烈的目标驱动意识和灵活解决问题的能力，能够在快节奏和高压力的环境中保持高效工作；</span></p><p><span leaf="">5. 有工业软件研发或半导体行业经验者优先。</span></p></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(39, 47, 223);overflow: hidden;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="296" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_png/Cpo2XCpI7K2xlPeOJcU6ibE9QOhM7vxhEQYIGhdsC85CAFCkSFfw3F1ro7V2iaTvrlHMu3Duib8ZSQjT44LUeOP2sQcJfpFAWWWJEp5CZwNypQ/0?wx_fmt=png&amp;from=appmsg" data-cropselx1="0" data-cropselx2="214" data-cropsely1="0" data-cropsely2="214" data-imgfileid="311133783" src="https://wechat2rss.xlab.app/img-proxy/?k=524e10ca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2xlPeOJcU6ibE9QOhM7vxhEQYIGhdsC85CAFCkSFfw3F1ro7V2iaTvrlHMu3Duib8ZSQjT44LUeOP2sQcJfpFAWWWJEp5CZwNypQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">长按识别关于岗位详情及投递简历</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 100%;overflow: hidden;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: justify;font-size: 11px;line-height: 1.3;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">♥</span></p></div></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">02</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">成都俊云科技有限公司</span></b></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">AI赋能型逆向工程师</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">20-30k</span></span></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：成都</span></strong></p><p><span leaf=""><span textstyle="" style="font-weight: bold;">工作职责</span></span></p><p><span leaf="">1. 负责 Windows / Android / iOS 平台软件的逆向分析工作；</span></p><p><span leaf="">2. 跟踪前沿移动端与 PC 端逆向技术，并输出技术文档；</span></p><p><span leaf="">3. 使用 C/C++ / Python 完成相关工具或脚本开发；</span></p><p><span leaf="">4. 使用 AI 工具（如 Claude/Codex）及 MCP 提升逆向工作的分析与开发效率。</span></p><p><span leaf=""><span textstyle="" style="font-weight: bold;">任职资格</span></span></p><p><span leaf="">1. 大专及以上学历，计算机相关专业，4年以上逆向经验，熟悉 iOS / Android / Windows 至少一个平台；</span></p><p><span leaf="">2. 熟悉Claude/Codex 等 AI 工具，能将逆向工具与 MCP 结合用于分析开发；</span></p><p><span leaf="">3. 使用 IDA、OllyDBG、WinDBG 等调试工具之一，掌握 Frida、Xposed、Inline/PLT Hook 等 Hook 技术；</span></p><p><span leaf="">4. 能阅读汇编代码，熟悉 C/C++ 或 Python；</span></p><p><span leaf="">5. 责任心强，有钻研精神和团队协作意识。</span></p><p><span leaf=""><span textstyle="" style="font-weight: bold;">加分项：</span>熟悉 Unity / UE 等游戏引擎，有游戏逆向经验或成果；</span></p><p><span leaf=""><span textstyle="" style="font-weight: bold;">年收入：</span></span></p><p><span leaf="">月薪+季度绩效/年度奖金+各类补贴+特色福利包，全年累计13-15个月月薪。</span></p><p><span leaf=""><span textstyle="" style="font-weight: bold;">【快乐工作・硬核成长・全方位福利】</span></span></p><p><span leaf="">1、快乐工作：团队氛围Nice，团建基金、定期聚餐、度假旅行，默契值拉满；</span></p><p><span leaf="">2、成长赋能：Claude、Gemini、ChatGPT 等 AI 工具会员全覆盖，专项学习资源 &amp; 学习基金加持；</span></p><p><span leaf="">3、仪式感拉满：生日、节日、各类贺礼&amp;关爱，暖心陪伴每一刻；</span></p><p><span leaf="">4、美食加持：公司自有食堂提供双餐、水果零食，告别外卖焦虑；</span></p><p><span leaf="">5、保障无忧：社保 + 公积金（全额缴纳各 8%）+ 商业险，带薪年假，全方位守护。</span></p><p><span leaf="">我们坚持「玩家为先」，更珍视每一位伙伴。在这里，精进技能、拓宽边界，用热爱奔赴下一场精彩~</span></p></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(39, 47, 223);overflow: hidden;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="296" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/Cpo2XCpI7K36rHp7NLsnNAfl48oJ1g575fsh6hCmPj2NrE9oaUqA6hUmGJnpPScISHXk3ksNI7UkKQa4ibpjXFo5cOHicaG2K6SM4R8TqgvCs/0?wx_fmt=png&amp;from=appmsg" data-cropselx1="0" data-cropselx2="214" data-cropsely1="0" data-cropsely2="214" data-imgfileid="311133362" src="https://wechat2rss.xlab.app/img-proxy/?k=22a68f52&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K36rHp7NLsnNAfl48oJ1g575fsh6hCmPj2NrE9oaUqA6hUmGJnpPScISHXk3ksNI7UkKQa4ibpjXFo5cOHicaG2K6SM4R8TqgvCs%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">长按识别关于岗位详情及投递简历</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 100%;overflow: hidden;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: justify;font-size: 11px;line-height: 1.3;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">♥</span></p></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">03</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">吉利汽车研究院（宁波）有限公司</span></b></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">密码技术研究员</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：60-70k</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：宁波</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. 密码算法与协议研究：开展密码算法、密码协议、通信协议的安全性分析与研发。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 前沿密码技术创新：研究后量子密码、区块链、隐私计算、密钥管理、身份认证等方向，并推动技术在智能汽车中的应用创新。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3. 智能汽车的数据安全、隐私保护、密码领域的前瞻技术洞察与创新。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4. 标准与课题参与：参与密码、数据安全相关的标准制定、专利撰写及科研课题研究工作。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位要求</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. 相关专业211、985硕士以上学位</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 具有密码技术、数据安全等相关领域的研发经验5年以上。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3. 熟悉密码算法、安全协议或身份认证机制，具备扎实的理论基础和实践能力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4. 有智能汽车相关经验者优先。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">5. 具备良好的科研能力，有标准/专利/课题参与经历者优先。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">传感器物理安全专家</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：60-70k</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：宁波</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责：</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">研究针对各类传感器的攻击手段，如光学干扰、激光雷达lidar攻击、GPS欺骗，毫米波雷达，超声波雷达等智驾相关传感器的干扰和欺骗攻击等；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">设计并实施传感器安全测试方案，评估其抗干扰与抗攻击能力；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">研发多传感器数据融合下的异常检测与安全防护算法；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">与传感器供应商协作，推动从实车，零部件硬件到固件的安全增强。</span></p></li></ul><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位要求：</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">本科及以上学历，通信工程、无线电、计算机科学、人工智能、信息安全、嵌入式等相关专业。工作年限5年以上，有行业知名安全或科技公司工作经验优先。熟悉自动驾驶系统原理，熟悉常见的L2,L3和L4自动驾驶传感器组合方案，了解各类传感器的工作机制、数据格式与优缺点；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">具备信号处理、嵌入式安全或相关领域的知识背景；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">有硬件逆向、信号分析或物理层安全研究经验者优先；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">动手能力强，能搭建实验环境进行攻击与防御验证。</span></p></li></ul></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">安全攻防专家</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：60-70k</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：</span></strong><strong style="box-sizing: border-box;"><span leaf="">宁波</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责：</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">以攻击视角针对公司的产品、网络、设备进行全方位安全评估；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">负责高危漏洞挖掘，包括但不限于逆向分析、无线电攻击、漏洞挖掘、渗透测试；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">研究车辆相关的攻击面，不限于软件、应用、app、云端、无线电、AI等；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">撰写高质量研究报告、专利或技术博客，参与BlackHat、DEFCON等行业会议，代表团队输出。</span></p></li></ul><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位要求：</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">本科及以上学历，嵌入式、网络安全、计算机科学与技术、电子信息类，密码学专业，工作年限5年-10年，有行业知名安全或科技公司工作经验优先；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">熟悉渗透测试方法，熟练burpsuite；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">熟悉固件逆向分析，熟悉ARM/MIPS架构，掌握IDA Pro、Ghidra等工具；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">熟悉常见物联网通信协议与安全机制；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">有丰富的攻防经验，IoT漏洞挖掘经验漏洞挖掘；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">对软件无线电等相关射频分析和抓包工具有熟练的使用经验。</span></p></li></ul></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">IoT渗透测试专家</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：60-70k</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：</span></strong><strong style="box-sizing: border-box;"><span leaf="">宁波</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责：</span></strong><span leaf=""><br/></span><span leaf="">1.对各类IoT设备进行硬件、固件、无线通信、移动应用、云端服务的全方位安全评估；</span><span leaf=""><br/></span><span leaf="">2.熟练使用硬件调试工具进行固件提取、逆向分析与漏洞挖掘；</span><span leaf=""><br/></span><span leaf="">3.研究蜂窝网、蓝牙、UWB、433mhz等无线协议的安全测试方法，熟练使用软件无线电等射频安全相关工具；</span><span leaf=""><br/></span><span leaf="">4.输出评估报告，并指导研发团队进行安全加固；</span><span leaf=""><br/></span><span leaf="">5.对外影响力输出，显著提升公司在产业界、学术界及监管层面的品牌影响力与技术公信力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位要求：</span></strong><span leaf=""><br/></span><span leaf="">1.本科及以上学历，嵌入式、网络安全、计算机科学与技术、电子信息类，密码学专业 ，工作年限5年-10年。有行业知名安全或科技公司工作经验优先。具备硬件基础知识，能使用万用表、示波器、逻辑分析仪等工具；</span><span leaf=""><br/></span><span leaf="">2.精通固件逆向分析，熟悉ARM/MIPS架构，掌握IDA Pro、Ghidra等工具；</span><span leaf=""><br/></span><span leaf="">3.了解常见IoT通信协议与安全机制；</span><span leaf=""><br/></span><span leaf="">4.有丰富的硬件或IoT设备，安全芯片漏洞挖掘经验；</span><span leaf=""><br/></span><span leaf="">5.对定制他硬件安全工具有一定的理解。对wifi蓝牙433等无线协议有深入的理解，对软件无线电等相关射频分析和抓包工具有熟练的使用经验；</span><span leaf=""><br/></span><span leaf="">6.对侧信道错误注入等安全攻击方式原理有一定的了解。对侧信道相关攻击设备有一定的了解。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">AI算法对抗专家</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：60-70k</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：宁波</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. 研究针对机器学习模型（特别是深度学习模型）的攻击方法与防御技术。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 设计与实现对抗样本检测、模型加固、隐私保护等安全算法。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3. 对业务中部署的AI模型进行安全性评估与红队对抗演练。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4. 开发自动化工具，将对抗防御能力集成到AI模型开发与部署生命周期中。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">5. 对外影响力输出，显著提升公司在产业界、学术界及监管层面的品牌影响力与技术公信力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位要求：</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">硕士及以上学历，计算机科学、人工智能、信息安全等相关专业。工作年限大于5年，有行业知名安全或科技公司工作经验优先。</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">精通机器学习/深度学习原理，熟悉TensorFlow、PyTorch等框架。</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">深入了解对抗机器学习领域的经典与最新攻击防御技术。</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">具备扎实的编程能力和算法实现经验，有相关顶会论文或实战项目者优先。</span></p></li></ul></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">AI大模型安全专家</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：60-70k</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：宁波</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">负责AI原生安全研究与AI赋能传统安全变革，包括但不限于：</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. 研究大模型（LLM）在训练、微调、部署、应用各阶段的安全风险与攻击面；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 开发针对提示注入、越狱、数据提取等攻击的检测与防御方案；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3. 构建大模型安全评测基准与自动化评估平台；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4. 参与设计安全的大模型应用架构与治理流程；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">5. 参与行业标准的制定，显著提升公司在产业界、学术界及监管层面的品牌影响力与技术公信力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位要求：</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">硕士及以上学历，计算机科学、人工智能、信息安全等相关专业。工作年限大于5年，有行业知名安全或科技公司工作经验优先。</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">精通机器学习/深度学习原理，熟悉TensorFlow、PyTorch等框架。</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">深入了解对抗机器学习领域的经典与最新攻击防御技术。</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">具备扎实的编程能力和算法实现经验，有相关顶会论文或实战项目者优先。</span></p></li></ul></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(39, 47, 223);overflow: hidden;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="400" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131762" src="https://wechat2rss.xlab.app/img-proxy/?k=6ea46757&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0LibBz5ENNUrfq101icXZU4GiaS2VyQ4biaFFEDyctibicb2eH8OLdMJ0Q0Jk7cBtEGNOZ1IcIdoZOdVH9crAM2ib6XDqmfLOrjVDY9I%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">长按识别关于岗位详情及投递简历</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 100%;overflow: hidden;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: justify;font-size: 11px;line-height: 1.3;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">♥</span></p></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">04</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">北京嘀嘀无限科技发展有限公司</span></b></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">移动端逆向工程师</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资面议</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：北京弘源新时代B座</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. 负责公司APP/小程序安全产品（安全签名、设备指纹等）的设计和研发工作，包括但不限于算法设计、代码混淆、设备指纹等功能，确保流量可追踪、可分析。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.负责APP/小程序/H5安全体系建设，在保护用户使用体验的基础上识别爬虫、黑产攻击；针对协议及异常设备攻击case分析，识别攻击特征并转化为端侧安全能力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">任职资格</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.熟悉常见的APP/H5爬虫类工具和原理，熟悉常见静态代码保护技术/动态分析调试技术。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.熟悉APP/H5端设备指纹的技术原理和方案，有APP/H5端侧防护能力、安全签名、设备指纹等项目开发经验。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.精通逆向分析，可以分析当前安全产品的不足，提出体系化的优化建议。包括但不限于以下：</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.1 熟悉SMALI指令、ARM32/64指令集。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.2 熟悉常见的反编译工具，如classdump，JEB、dex2jar、IDA Pro等。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.3 熟悉移动APP动态调试技术。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.4 熟悉移动APP的开发流程，熟悉Objective-C、C/C++开发。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.5 熟悉常见的hook框架及配套工具，包括但不限于Xposed、LSPosed、Frida、Cydia Substrate、Magisk等。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">加分项：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.熟悉JavaScript VMP原理并有大规模场景落地开发经验者优先；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.有前端逆向分析经验和安全产品开发经验优先。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">端安全研发工程师（Android设备指纹方向）</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：面议</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：北京弘源新时代B座</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.技术研发：负责安全SDK的开发、维护与性能优化，熟悉设备指纹生成原理，确保指纹的唯一性、稳定性及抗篡改能力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.攻防对抗：研究黑产常用的模拟器、脚本工具、机型伪造等手法，持续升级端侧检测能力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.底层分析：深入研究 Android/iOS系统特性、系统文件、硬件信息，挖掘用于设备标识的特征。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4.环境安全：检测设备环境是否存在 Root、越狱、Hook 框架（如 Xposed、Frida）、代码注入等安全风险。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">任职资格</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.能力背景：计算机相关专业，具备5年以上Android/iOS开发经验，对设备指纹和风险检测有实际经验。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.技能熟练：精通C/C++及Java/OC，熟悉底层框架和面向对象编程。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.逆向能力：熟悉反编译、代码注入、Hook技术（Frida/Xposed），具备较强的逆向分析能力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4.攻防思维：熟悉各类主流移动端安全产品，了解黑产攻防技术</span></p></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(39, 47, 223);overflow: hidden;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="296" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131766" src="https://wechat2rss.xlab.app/img-proxy/?k=a2749fb2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1n6lvrTLF0fx08HBfDibHDVL7FahibtPpxbeS58mH2DBuZu8DtksVunW3mUib3yZGDMcNcOIKCvYicAwC37icgbvicLC5fdYYN0lWl0%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">长按识别关于岗位详情及投递简历</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 100%;overflow: hidden;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: justify;font-size: 11px;line-height: 1.3;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">♥</span></p></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">05</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">成都梦诺科技有限公司</span></b></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">高级逆向开发工程师</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资面议</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：成都</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位职责：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1、针对安全协议、加解密算法、签名机制及认证流程进行逆向；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2、针对常见移动端安全加固进行绕过。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">任职要求：</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3年以上 Android逆向经验；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">熟练使用 Jadx,Jeb,Xposed,Ida,Frida 等逆向工具；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">熟悉网络通讯、代理机制，抓包、https、sslpinning、proxy机制；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">熟悉各种通用加解密算法，有脱壳、反混淆、反调试、反检测等对抗经验；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">熟悉Java/c/c++语言，smali,ARM汇编；能够静态动态分析调试app、sdk、so;</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">能分析ollvm后代码，了解vmp原理并具备分析能力者优先；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">可独立完成App逆向工作。</span></p></li></ul><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">公司福利：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.五险一金</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.法定节假日、带薪年假、病假、婚假、丧假、产假、陪产假等；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.妇女节、端午节、中秋节、春节等精美礼品；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4.下午茶、团建、生日会、咖啡</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">*不考虑逆向开发方向或无逆向基础的同学，请勿打扰！</span></p></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(39, 47, 223);overflow: hidden;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="296" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131764" src="https://wechat2rss.xlab.app/img-proxy/?k=7fdeb5f9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3F5hqUAGPAFyJXrN0NgD7U8fRLcnmgG3s4kTe9fSzb7GzYRk7ibVL3n0O1O5yW4GJERDrKbbhVUmSVvIFLgMbONnd6ibk9qCnnU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">长按识别关于岗位详情及投递简历</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 100%;overflow: hidden;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: justify;font-size: 11px;line-height: 1.3;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">♥</span></p></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">06</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">极海微电子股份有限公司</span></b></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">固件分析工程师</span></b></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：30k以上</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：珠海</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">工作经验：5-10年</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">学历要求：本科</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">工作职责：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">物联网设备安全研究，渗透测试，漏洞挖掘和漏洞利用，负责嵌入式软件分析。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">任职要求：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1、熟悉二进制漏洞原理及利用方式，尤其是对嵌入式系统的安全问题有深刻理解；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2、有一定的攻防、渗透、漏洞挖掘的经验；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3、有固件重建和固件仿真经验者优先，如firmware-mod-kit和qemu等软件；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4、熟练使用WinDBG、IDA Pro、OllyDBG、Binwalk等调试、逆向工具；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">5、熟悉ARM架构，有较强的动手能力，有物联网设备调试接口和固件提取经验优先；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">6、智能硬件破解大赛获奖或者发言的优先；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">7、信息安全/计算机科学与技术专业/软件工程等软件相关专业优先考虑。</span></p></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(39, 47, 223);overflow: hidden;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="400" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131767" src="https://wechat2rss.xlab.app/img-proxy/?k=76b5ba0c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1pYuYjSB4I3icicVo998aamVs2hLmLB1tMRibZJRctkZoP91Y8NSdLDSyLXicVW6UfyTevbsuvVbnWDXCswU4o3wicuYibgnd4veibdI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">长按识别关于岗位详情及投递简历</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 100%;overflow: hidden;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: justify;font-size: 11px;line-height: 1.3;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">♥</span></p></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">07</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">深圳软牛科技集团股份有限公司</span></b></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">高级逆向开发工程师</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资面议</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：深圳</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">工作经验：3-5年</span></b></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">学历要求：本科</span></b></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">【岗位职责】</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.主要从事win和mac平台上的功能开发；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.负责公司数据类/音视频相关产品的功能软件框架设计、编码实现；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.负责产品相关的功能需求评估、可行性分析，技术难点预研；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4.负责项目推进把控，协调分配开发任务，针对对市场反馈进行软件策略调整；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">【任职要求】</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.本科及以上学历，3-5年PC端逆向开发工作经验；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.熟练掌握C++底层原理，熟悉Win32 API、STL的操作使用；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.熟悉反编译、反汇编以及各类逆向工具软件的使用，熟悉常见x86、arm汇编指令、常见的反调试技术、加壳脱壳原理，对软件逆向有相应研究；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4.有较强的探索钻研精神，对逆向有强烈兴趣，解决问题思路灵活。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">逆向开发工程师</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资面议</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：成都</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">工作经验：应届毕业生</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">学历要求：本科</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">【岗位职责】</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.主要从事win和mac平台上的产品功能逆向开发；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.负责数据类\多媒体类相关产品的功能编码实现与维护工作；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.负责数据类\多媒体类产品相关的技术攻关工作，并开发实现对应产品功能。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">【任职要求】</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1.本科及以上学历，2026届计算机相关专业优先；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2.熟悉反编译、反汇编以及各类逆向工具软件的使用，熟悉常见x86、arm汇编指令、常见的反调试技术、加壳脱壳原理，有实操经验优先；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3.C++基础扎实、理解C++原理，熟悉Win32 API、STL的基本使用；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4.熟悉Windows消息机制，数据库编程，网络编程、熟悉常用算法；</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">5.有较强的探索钻研精神，对逆向有强烈兴趣，解决问题思路灵活。</span></p></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(39, 47, 223);overflow: hidden;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="400" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131770" src="https://wechat2rss.xlab.app/img-proxy/?k=61af8642&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1vT9F4K7UYico4oxGKQ9mNkxZzAy6LFuz9Hibs8BLkuA2Db3mjmeoMTIJrf9ibRm1HPPDVHiandhrHansPwC0Wials9AG5cvzbKnlQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">长按识别关于岗位详情及投递简历</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 100%;overflow: hidden;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: justify;font-size: 11px;line-height: 1.3;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">♥</span></p></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">08</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">北京数戎星河科技有限公司</span></b></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">安全研究/渗透/漏挖</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：30k以上</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">就职地点：北京</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">岗位要求:</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">高级渗透负责人：3人，应届实习生10人。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1、跟踪研究APT组织技战法包括但不限于边界突破、横向移动、数据回传等，依据TTPs做组织归因。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2、聚焦WEB安全研究、移动端安全研究、云安全研究、供应链安全研究、边界硬件设备安全研究、漏洞挖掘、逆向研究等。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3、具备丰富实战经验优先。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">以上3点符合其中一条即可。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">网络攻防研究合伙人</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(39, 47, 223);padding: 0px 5px;margin: 0px 0px 0px 5px;box-sizing: border-box;"><div style="text-align: left;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">薪资：30k以上</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgba(39, 47, 223, 0.51);height: auto;margin: 0px 0px 0px 8px;padding: 9px 16px 9px 20px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">主要职责:</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">负责网络攻防实战技术研究：系统化跟踪研究网络安全攻防技术，孵化各类安全产品落地。我们需要自驱型高效学习能力、对技术保持热忱的合伙人，不招牛马！！！</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">学历要求：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2025或2026届应届硕士毕业生，或在读。C9、985、211优先。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">专业背景：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">计算机科学、网络安全、网络工程、人工智能等相关专业硕士及以上学历（能力突出者可放宽至本科）。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">工作地点：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">北京/广州/上海/深圳/杭州/武汉/南京/合肥（需全职实习，支持异地转岗），部分地区提供免费住宿。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">技术能力：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">对技术保持长期热忱，高效学习研究能力。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">核心素质：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">自驱力强：能独立规划研究方向，持续跟进安全动态。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">实习物质待遇：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">薪资10,000元/月。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">实习期间没有领导，没有管理，完全自由发挥。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">转正待遇：</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">起薪30,000元/月 + 月度奖金。（年薪50w起步），能力强的上不封顶。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">全额五险一金、带薪年假、项目奖金及股权激励计划。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">公司提供国内外行业最前沿研究资料及实战环境，与国内外优质资源包括但不限于人、财、物。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">简历投递：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">邮箱 liangruohan0106@163.com</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">邮件标题格式：姓名-学校-毕业年份-应聘城市（例：张三-中科大-2026届-合肥）。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">申请材料</span></strong><span leaf="">：</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">个人简历（含GPA及排名）。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">推荐奖励：</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">推荐成功，奖励现金5000元/人，欢迎各位师傅推荐，自荐。</span></p></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(39, 47, 223);overflow: hidden;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="400" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131768" src="https://wechat2rss.xlab.app/img-proxy/?k=c501ccb3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2vTEK3kwZiateRPMl0PE5G8CdibVQsibEJmU0WWJHvZPpKrVO7Rl0SffTMZJHaiajvGnwtib3GwlBDOCACGBoEsjYibYw4P8neibaEfA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">长按识别关于岗位详情及投递简历</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 100%;overflow: hidden;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: justify;font-size: 11px;line-height: 1.3;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">♥</span></p></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: 15px;align-self: center;flex: 0 0 auto;height: auto;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: 8px;vertical-align: top;align-self: flex-start;flex: 0 0 auto;height: auto;background-color: rgb(39, 47, 223);box-sizing: border-box;"><div style="margin: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.6708860759493671" data-s="300,640" data-type="png" data-w="395" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131771" src="https://wechat2rss.xlab.app/img-proxy/?k=56e8fab1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K33zctP41akdeVEQyian2RUhKkg7owr0mySsTa1qaAzdkfRnd2GKDhQDSqiaCrKsmiaWoWRQZbibot1VtukCib5QlnKSmvMhPlkgaYQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 4px;box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">立即投递简历</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: 15px;align-self: center;flex: 0 0 auto;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;margin: 0px;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><div style="display: inline-block;width: 8px;vertical-align: top;align-self: flex-start;flex: 0 0 auto;height: auto;background-color: rgb(39, 47, 223);box-sizing: border-box;"><div style="margin: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.6708860759493671" data-s="300,640" data-type="png" data-w="395" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131775" src="https://wechat2rss.xlab.app/img-proxy/?k=e2bdb4f4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2VmSHu2O8x9qXntibU1T2jicXlgQYG9g5ibERVsjCsvdrM55t5sySWH5AqLaUJjTKdN7iaLMnY1NaKibIMu5R5iaSCRLT4vTDyX0UPk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="260" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131772" src="https://wechat2rss.xlab.app/img-proxy/?k=f35741bc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K18EqoezvtUI7iaWN5HOdQczg1d7cTpSl3awpLMrYvt5micZjzjPLGRIV7yE0fiaOthUhFpM8Qt7MkIINp8S7W4ib4IsXlr7PCKc4Y%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: 15px;align-self: center;flex: 0 0 auto;height: auto;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: 8px;vertical-align: top;align-self: flex-start;flex: 0 0 auto;height: auto;background-color: rgb(39, 47, 223);box-sizing: border-box;"><div style="margin: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.6708860759493671" data-s="300,640" data-type="png" data-w="395" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131773" src="https://wechat2rss.xlab.app/img-proxy/?k=5670347f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0jqL0YHYI3c3A5YHU79tib86ntUCqF69pAugQtLdRvjpJFEqptLVDw4EfD4INMk8rlkzT1ZaYROs3557JOnqiapr67JtPLmCHsA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 4px;box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">招聘合作咨询</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: 15px;align-self: center;flex: 0 0 auto;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;margin: 0px;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><div style="display: inline-block;width: 8px;vertical-align: top;align-self: flex-start;flex: 0 0 auto;height: auto;background-color: rgb(39, 47, 223);box-sizing: border-box;"><div style="margin: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.6708860759493671" data-s="300,640" data-type="png" data-w="395" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131774" src="https://wechat2rss.xlab.app/img-proxy/?k=efea7762&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K3gde9TZL7l9bOcibvI7M6s2qE86U4E3lENhjsZemVhvlt9iajdv7StH8YcicMt36QsVgcBP7dVV6oUrcs6QUJp9MkeIovxPD28mc%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="396" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131776" src="https://wechat2rss.xlab.app/img-proxy/?k=259dc972&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K16LkyibutIMb0W4J70g1whHudhgWIbZq8guMVDuK66YFGfzyuCjdxwA6488WRoc8bNQxI6wOZTib4mbo7gZLz8LyTWxL4LXgMuk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131777" src="https://wechat2rss.xlab.app/img-proxy/?k=173812ad&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0EfQyEziciamaPzCTRkCnC8ibFURcsObbibBico4rpVTiaWxd5FrtiaHrD6J6C0DHH5238zaKbrfiaXzxvKib2wnq4fzAbgDqemCJNao2Y%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131781" src="https://wechat2rss.xlab.app/img-proxy/?k=2bd54d0c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K3x9yBgd0ospGSJSia4hE2ZvbZqlKhRbPcfcwK60zNnMibNb92j4B2V40FnFibyiapmX67HOwzCBCp0ssthRuzhLh0uHcFATyxVgFE%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131780" src="https://wechat2rss.xlab.app/img-proxy/?k=9b2729a9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K3kc7iczgdhUKRju7M2CIw8WoJn43Q8FgvY3qicgxicrmtH7HCWtpHPIDFZzMTO1Liay7VAca5g06zT0eVURu5hQJScGicB4duGrrIs%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131779" src="https://wechat2rss.xlab.app/img-proxy/?k=f83d5dc8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K1bjoZHIAg4R5a4AoT7Fkia6cxd931R0qiaSR5JPAk6e4Gbfiaqkcz6twjrbBzepknYSU2Uh2Oibr1VdTSiaJ4fLicf2q5zrRvXqqGno%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311131783" src="https://wechat2rss.xlab.app/img-proxy/?k=ac520a2c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K13hOMkTY2TqLoc1OMtAtIyHiaruFZMKMTUIiadlo6v3dzZWSedM20Hr93ub9EtexIaBDzup9QEEoghUc9aPjc2tGVca2uQf0ia7w%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 14px;box-sizing: border-box;"><span leaf="">点击阅读原文『投递简历』</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://job.kanxue.com/position-list.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=f7028a46&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618672%26idx%3D2%26sn%3D0912f6abdfaf6969f1e9d7b496e8555d">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 14 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>智谱GLM‑5.3正式发布：开源模型编程能力大幅跃升</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618672&amp;idx=3&amp;sn=92eef51d42d5ed526817084356cc87b8</link>
      <description>GLM‑5.3登场，编程与安全能力迎来升级</description>
      <content:encoded><![CDATA[<p><span>看雪学苑</span> <span>2026-08-14 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=4f67fb9d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2P6KjRS4elTnNcQKhQgTmgiaA2lBcPbtxAUDQRib7Ar6JMMsTztD7TYeDpm4Q1R8b6Hc6LNib7BctOV26nwkzZ4Jn5Jd0fFiaYm9Y%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>GLM‑5.3登场，编程与安全能力迎来升级</p>
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">8月14日，</span><strong style="box-sizing: border-box;"><span leaf="">智谱AI对外推出全新模型GLM‑5.3。</span></strong><span leaf="">该版本并未更换底层基座，依靠后训练Scaling技术实现能力跃迁，拓展长程任务训练规模、丰富环境样本、拉长后训练周期，在编程、智能体执行、网络安全多个维度实现显著进步，被官方称作</span><strong style="box-sizing: border-box;"><span leaf="">现阶段编程能力最强的开源大模型。</span></strong></p><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;line-height: 0;padding: 0px 5px 0px 0px;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="text-align: center;margin: 0px;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 21px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8823529" data-s="300,640" data-type="svg" data-w="170" style="vertical-align: middle;max-width: 100%;width: 100%;height: 100%;box-sizing: border-box;" data-imgfileid="311135013" src="https://wechat2rss.xlab.app/img-proxy/?k=6b09c217&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_svg%2FQ3auHgzwzM4JicZ5YDGgGnSFMiaRudib1FFs2m8GWp9ej2Q4trdkpsFfneukPqWhaak1Qb0h4HNzVNjV7D0BcgKm17nmCAGQFjEpEYZjNDBz52sekUlNk7rNQ%2F640%3Fwx_fmt%3Dsvg%26from%3Dappmsg"/></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 3px 20px;background-color: rgb(255, 128, 52);box-sizing: border-box;"><div style="text-align: justify;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">核心能力亮点</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 18px;height: auto;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311135011" data-ratio="0.8518519" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=f0c18ab5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K326zpVJJgvps5cTcHxb41jvLCW0nZb7CbnDLQUVYwCF8ZmsaR7kQbmQ3CIBNpyialiaozYlJc6kB2QEXguJG2JJvqI0sjrxY8m0%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 0px 0px 8px;box-sizing: border-box;"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="margin: 0px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">编程能力大幅增强</span></strong></p></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">GLM‑5.3相较前代GLM‑5.2，实际编程体感提升可达50%，多项公开基准测试拿下开源模型榜首。</span></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Terminal Bench 3.0（终端复杂任务）：得分由4.6暴涨至28.3，真实终端环境任务处理能力实现跨越式增长；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">DeepSWE v1.1（长周期软件工程迭代）：分数从46.2提升至66.9，擅长持续修改、迭代大型代码项目；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Agents&#39; Last Exam：分数28.5，多工具协同、长链路专业任务表现进一步增强；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">GDPval‑AA v2职业能力评测：拿到1769高分，依托编程能力带动各类高价值职业工作任务的执行效果。</span></p></li></ul></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311135014" data-ratio="0.3805556" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=bdb678c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K3ztqUKPnxibwIaDL7mjxkE0tXRuZXWCsJueC1otjHCXpCIaCDfmzcRibVEwOZxFz8dIVxbR9GsgGtZeLxhWcuP77sqkcEr9uD5s%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">智谱自研 Z.ai Code Bench 贴近开发者真实使用Agent编码的场景，在复杂本地开发环境下做端到端实测。</span></p></div><div style="margin: 10px 0% 8px;text-align: left;justify-content: flex-start;display: flex;flex-flow: row;width: 100%;border-left: 3px solid rgb(219, 219, 219);border-bottom-left-radius: 0px;padding: 0px 0px 0px 8px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgba(0, 0, 0, 0.5);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">GLM‑5.3兼顾效果与Token消耗效率。High思考档位准确率31.4%，超越Claude Opus 4.8最高档位29.5%；仅需约5万平均输出Token，对比对手12万Token，以更少输出完成编码任务。</span></p></div></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">整体编程与Agent综合实力逼近Claude Fable 5，实际编码表现优于多数国产同类模型。</span></p><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 18px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8518519" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311135010" src="https://wechat2rss.xlab.app/img-proxy/?k=9ab7d189&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3PibbSZ2WQia2X6P2GSOQM3O34HGXMobLIprVku0UpSPsKjt5nNmWcAJblgf6O75IUFqVwCaPJAZSLRTtkTf9FhUmia2vSveNyU8%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 0px 0px 8px;box-sizing: border-box;"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="margin: 0px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">🛡️ 网络安全防御能力显现</span></strong></p></div></div></div></div></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">在白盒代码审计、漏洞挖掘等安全场景，GLM‑5.3性能对标Mythos 5，具备不错的网络安全防御落地潜力，可服务安全工程师做代码审查、漏洞研判等工作。</span></p><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 18px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8518519" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311135012" src="https://wechat2rss.xlab.app/img-proxy/?k=238499a6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1pGGlLPLaVicMp6yKyQUXG4CvgQoAcXsDABFeK6puqOCOWwg7U3trC0Z37gsB07a8zdaMibjkr17I6gDskw3xhXScpfTiaQ0HJg8%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 0px 0px 8px;box-sizing: border-box;"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="margin: 0px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">全部增益来自后训练调优</span></strong></p></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">值得注意，GLM‑5.3和GLM‑5.2使用完全一致基座模型。依靠IndexShare、SAO、新一代Slime强化学习框架完成后训练缩放，官方认为该基座仍然存在进一步挖掘的性能空间。</span></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;line-height: 0;padding: 0px 5px 0px 0px;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="text-align: center;margin: 0px;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 21px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8823529" data-s="300,640" data-type="svg" data-w="170" style="vertical-align: middle;max-width: 100%;width: 100%;height: 100%;box-sizing: border-box;" data-imgfileid="311135019" src="https://wechat2rss.xlab.app/img-proxy/?k=8dc8da6b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_svg%2FQ3auHgzwzM6AqkAVhaQSWbG7Wzx2l1f16KmiaGn8tgJuvX9T7ox0OupmU3EKxFWzTwQRhpDEjIj7tEBsqq33yZfzNLy3Vic7l3E6DCN4kvs8I9RZgf1npWUw%2F640%3Fwx_fmt%3Dsvg%26from%3Dappmsg"/></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 3px 20px;background-color: rgb(255, 128, 52);box-sizing: border-box;"><div style="text-align: justify;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">产品上线与开源计划</span></strong></p></div></div></div><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">工具端：</span></strong><span leaf="">官方编程工具ZCode、自动化效率工具AutoClaw现已上线，GLM Coding Plan订阅向全部用户开放；TraeCode、扣子、CodeBuddy等第三方编码平台开启抢先体验。8月14日13点，GLM Coding Plan全部用户使用额度完成重置。</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">API接口：</span></strong><span leaf="">即将对外开放。</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">权重开源：</span></strong><span leaf="">完成安全评估与模型加固后，两周后开放模型权重；会约束模型潜在攻击能力，保留安全防御相关能力。</span></p></li></ul><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">资讯来源：智谱AI官方</span></p><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311135015" src="https://wechat2rss.xlab.app/img-proxy/?k=7e2bd172&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1fx1kOHXtgfMeibS7BPWJvMkcZiagoOlOfz1uxW9tPFJkPdoqzXREOOLDlZayyNpO51CglnCvuQEEYk2dRkqulQ9qdNuVibzIj0w%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311135017" src="https://wechat2rss.xlab.app/img-proxy/?k=6c00fee1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K2zfgcIfVs6gATKJAcX9IEn6sFhSpnu5axIvfS4ROv0ZibV2GgZMSnvbUYCBa8br7Eu0A1AP3bwJtLgI1IVCrJ83RWfJVQl8LxM%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311135018" src="https://wechat2rss.xlab.app/img-proxy/?k=2f4ca88e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K3MWmC97K06VlxLcZz3q5jVsXicrTFKD0Ev1ptfjo8ftRyia6Uwic2vClricNPn9S4boEwA9qpwOelsKWnwcKQlkiaH2KqkqyxngicvM%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311135016" src="https://wechat2rss.xlab.app/img-proxy/?k=6d11fb40&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K1nVRaJe1Tib7FARjTt9icueDp6um7GJEaUaHA77MMlcAYUgwBiaMzKvICicIV0JtibIO9ibuibgsT3zC5LF9lzulKh6UHDGTohuiaVreY%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=e93c9950&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618672%26idx%3D3%26sn%3D92eef51d42d5ed526817084356cc87b8">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 14 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>火热招生中！AI Agent 驱动 Android 逆向与 Root 漏洞实战训练营</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618672&amp;idx=4&amp;sn=6da5f7d96ceba73b119a2be8f10d5d9e</link>
      <description>报名训练营，赠“2026 CSA 大中华区大会 暨AI+安全大会 ”门票</description>
      <content:encoded><![CDATA[<p><span>看雪&amp;CSA GCR</span> <span>2026-08-14 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=40729925&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K113dsv9z2gs2t3VwXmUljicgIa8TYibdO3DMsAc4D7dia9Uoiaia1IqrDnDdfWHpnGytVJtJicGkz7qQ5X5uWqzxYfPHVquA5PBcuhM%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>报名训练营，赠“2026 CSA 大中华区大会 暨AI+安全大会 ”门票</p>
  <div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">随着大模型能力快速演进，安全研究正在从传统人工分析模式向 AI Agent 驱动的智能化分析模式转变。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">本训练营将</span><span style="color: rgb(37, 137, 251);box-sizing: border-box;"><span leaf="">围绕最新 Agentic Security 思想，结合 Cairn 与 r0re 项目实践，探索 AI 如何辅助复杂 Android 安全分析任务。</span></span></p></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311134445" data-ratio="2.127659574468085" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="png" data-w="940" src="https://wechat2rss.xlab.app/img-proxy/?k=c8728a7e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1KYgib3OzKqr2GPZa8kOB18esEKbBmSZYGSDHkdHnmRibwrsTLKWloCqMvfftzEOLx4OwkQetaZcSjibgyDZl5bXJoXyvIG9PkBM%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: -2px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 10px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="4.719101123595506" data-s="300,640" data-type="png" data-w="89" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134441" src="https://wechat2rss.xlab.app/img-proxy/?k=8c9319ea&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1pC5kY0CXcgusDrmofBgFITKLJuInjyqiasKG6O29Qhj8Rpmjv5nlyxGU8OnwCNzaPVpRA1sZYs8IgyibAf0KLaB8ghXZWpTq9g%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;flex: 100 100 0%;height: auto;align-self: center;padding: 0px 9px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">培训介绍</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="text-align: center;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 10px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="4.719101123595506" data-s="300,640" data-type="png" data-w="89" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134442" src="https://wechat2rss.xlab.app/img-proxy/?k=d97f9a33&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1qBUOln6dynkeDices4HvQL2NX3ciasK6KGVGwDvs2Q9xD29iaI4B0spMmCHFHr6y56PJKib0zQDOPoxRd2Oib158WnibeMHXTqOia8A%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: justify;"><span leaf="">课程首先介绍腾讯第二届 AI 智能渗透测试大赛中 Bytex 基于 Cairn 架构实现单人完成全通关的实践经验，深入解析 Blackboard、DAG、Worker、Fact/Intent 等核心设计思想，理解如何通过状态管理、任务编排和自动化执行，让 AI Agent 持续推进复杂安全任务。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: justify;"><span leaf="">随后进入 Android 安全实战部分，介绍基于 Cairn 思想构建的 r0re 分析框架，展示如何利用 Agent 编排能力完成 APK 结构分析、DEX/Smali/JNI/native 逆向、多 Worker 协作以及分析结果验证。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: justify;"><span leaf="">课程最后结合最新 Android Root 漏洞案例，深入分析从浏览器攻击入口、权限突破到 Kernel 提权的完整攻击链，并通过实战演示展示现代 Android 安全研究中的漏洞分析方法。</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: -2px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 10px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="4.719101123595506" data-s="300,640" data-type="png" data-w="89" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134443" src="https://wechat2rss.xlab.app/img-proxy/?k=4d89c700&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0sLfYrZ75tmrgh83AMib8fZqgY5BMU44RzfGUWF2l0gtwl6ricNNeviatkTuLib6ErDHIzZj1XQ6OU5a1acrnKhFVbTjG0bFhYSuE%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;flex: 100 100 0%;height: auto;align-self: center;padding: 0px 9px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">讲师介绍</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="text-align: center;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 10px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="4.719101123595506" data-s="300,640" data-type="png" data-w="89" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134444" src="https://wechat2rss.xlab.app/img-proxy/?k=f1470fa5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1stBlWUpKcoCbXUdSM79BP4ZMwpphiaC9wjk7iasokLbDicLIqrjFJDH47cxhYCJibbDEUrh5IzEEGZbR97VoW1Jl0OKyksf2GdWk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">roysue：</span></strong><span leaf="">曾在看雪安全开发者峰会、GeekPwn、补天、t00ls等会议发表主题演讲，为国家政府机关单位进行涉密项目研究开发，看雪《安卓高级研修班》负责人，著有《安卓Frida逆向与抓包实战》等六本图书，开源工具获近万star。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">fyrlove</span></strong><span leaf="">：看雪安卓版主，十余年安卓开发与逆向经验，开源工具r0zygisk/r0re作者。</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: -2px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 10px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="4.719101123595506" data-s="300,640" data-type="png" data-w="89" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134446" src="https://wechat2rss.xlab.app/img-proxy/?k=dfec1312&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2eiav3GLC0JcEd9udvBgKURZCBASgTsNWMEbZTjBDWrcKrutfX5apXXFmJkTO5Pbgml0KQfmcGPlJexTjBCibZKIStictmibgFaF0%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;flex: 100 100 0%;height: auto;align-self: center;padding: 0px 9px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">看雪专属报名福利</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="text-align: center;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 10px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="4.719101123595506" data-s="300,640" data-type="png" data-w="89" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134450" src="https://wechat2rss.xlab.app/img-proxy/?k=d13deb59&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2QMBBKr3ibrDvr6p7rxDyea0SLCvLhQialUVaoicls5bQTQ9d2VO7ia7mA8Vj8PibXUE1AXwAaa8wVVHeSN3vLianAiblzdJyAjh4emo%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="180" style="vertical-align:middle;max-width:100%;width:225px;box-sizing:border-box;height:225px;" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_png/Cpo2XCpI7K0sADbpTVTZKvKlvwDG9Dc0vlxfDWIUTuvFzc91LZ5h55GDarq2QG40T7mLqL1Fog9S3uZ2MOnGrJKeriabURRQIPrBYvJzROJs/640?wx_fmt=png&amp;from=appmsg" data-cropx1="0" data-cropx2="180" data-cropy1="0" data-cropy2="180" data-imgfileid="311134447" src="https://wechat2rss.xlab.app/img-proxy/?k=e2275321&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K2J8Ij0hicKNXoryuwEic6XrH9ib6Tmib9N9ZdEgFU6nWYdB6CjibfdKaOaeeA9q3sKKibxrKqbbm6jZAKic1ruiaZ2CofxWrP0IYk6Iibo%2F640%3Fwx_fmt%3Djpeg"/></p><div style="color: rgb(39, 47, 223);line-height: 2;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4999元/天</span></p><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">报名训练营，赠送：</span></p><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="box-sizing: border-box;"><span leaf="">“2026 CSA 大中华区大会 暨AI+安全大会 ”门票</span></span></p></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: -2px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 10px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="4.719101123595506" data-s="300,640" data-type="png" data-w="89" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134448" src="https://wechat2rss.xlab.app/img-proxy/?k=11abd928&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2jkKXBugjVd9edLlps44p346lTtuw00fPQEqm9iczbw9Ar4JauxP1CLM1aqyfGZWSAsBK6Eh5ia5kUtCmUd8ZMA68NqK1WdSTUY%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;flex: 100 100 0%;height: auto;align-self: center;padding: 0px 9px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">报名咨询</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="text-align: center;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 10px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="4.719101123595506" data-s="300,640" data-type="png" data-w="89" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134449" src="https://wechat2rss.xlab.app/img-proxy/?k=5ad2d024&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K35ddUhN1vggozbDKL2naz0PYPxttPHBaF8FYyR2yFiaNZic56PicCCdyGxO1icOjFlByT476DsluXZ2A4f32LBtExLcPJC4IdwlGQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="396" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134451" src="https://wechat2rss.xlab.app/img-proxy/?k=eae3a102&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0zSHu2iavjicIwoGFfhu5ZdXwlWT1JrwkYkVQNhLfOGibOGDPicrbToN0ib8VZsMhDeD6L8eicxdYTnZbiaPDw5iaPiahN8ibODLUEJ1UkQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">培训答疑，1V1咨询</span></p></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134452" src="https://wechat2rss.xlab.app/img-proxy/?k=2006f0dd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2DXBKPgeO9ujoD52kAGU2VDtXibiaP6n5MmHbVdmr4u3DRYIcz5QNic5F3tk6XoMia1TA1XGty2NvhGXj2mQafPPucPibcDX3QFa7s%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134454" src="https://wechat2rss.xlab.app/img-proxy/?k=38124cb4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K0JEFkKD8DQJB7Y8Yib0CTvmNRgtNVSQLfVYyJdeGOEfqjE5RzTZFgtcicFWNho3FB9mmETprHGgv6wchSQTE0Wgad8jIHNDKz00%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134455" src="https://wechat2rss.xlab.app/img-proxy/?k=e15f9ed7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K2xD1l6Q5nfYYOWPfYYUHoyE2aYlNTx16J9gVFDSmUOic1RD2JbH8Ulj1S0SFibHibsYW1IQvoJ7ia0Mh2ia8nde3EhGWpvHPPnCay4%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134453" src="https://wechat2rss.xlab.app/img-proxy/?k=d49a6af3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K3Gnff8ib9vAzibhyjibaiaXh3KH16v38pTjJqRaotibzhfU5N9bk8CoOhD5HQEbvdGYywvS2s5ibZgfZTHrPkeHCJWLnwwiacJnujURk%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134457" src="https://wechat2rss.xlab.app/img-proxy/?k=8800773d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K1bQxo8b0pvibOcwicbt1icXtibSAvngibSbRYCMOUNlkxsFgUaRiaibOTVDjYYibxFrGlAwKFyk1iavnLu549sFnicgwbCEWIa4rVrfIdIw%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 14px;box-sizing: border-box;"><span leaf="">点击阅读原文查看更多</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://www.huodongxing.com/event/6869716448311">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=a1ab3517&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618672%26idx%3D4%26sn%3D6da5f7d96ceba73b119a2be8f10d5d9e">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 14 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>网络摄像头软件去广告</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618624&amp;idx=1&amp;sn=c8e240819534742b651ac3a09688faac</link>
      <description>看雪论坛作者ID：xtyuns</description>
      <content:encoded><![CDATA[<p><span>xtyuns</span> <span>2026-08-13 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=7e9fdb95&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1WZRiblHBDQUkmWXkialiaUtMF2VkU8fFwZ6JSHusuBxDn64CnDf349EjElyxiawklCV9pAxYcotVr78dfGEYgOBVzUXXzQgYBNFE%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>看雪论坛作者ID：xtyuns</p>
  <div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin: 10px 0%;text-align: center;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="display: flex;flex-flow: row;justify-content: center;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: 30px;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;margin: 0px 0%;font-size: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 70%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="650" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134897" src="https://wechat2rss.xlab.app/img-proxy/?k=b79c237e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3hez2YvhEaTdl3nicdW4FyiaDaVibcVEh3Y24jM8vLcJU4ZsjJtdKDsm3vyVfiaITwBhSPCKFOVU5jKjn6jdaaEhEfwTmBfmnGEIw%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 100 100 0%;height: auto;padding: 0px 3px 0px 0px;box-sizing: border-box;"><div style="color: rgb(21, 83, 212);line-height: 1.1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="display: inline-block;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">背景</span></strong></span></p></div></div></div></div></div></div></div><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">目标应用: </span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">一款网络摄像头工具，家里人经常用来查看摄像头，但是软件中塞了一大堆牛皮癣广告。</span></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">广告行为: </span><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">开屏广告，热点区域广告，摇一摇跳转，关闭按钮不方便点击且容易误触广告，各种坑老陷阱。</span></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">软件中的广告还会区别对待新老用户:</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img alt="图片描述" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311134885" data-ratio="0.3851851851851852" style="max-width: 100%;" data-type="webp" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9ca00891&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3TpRsg6OFsZPId8fBeCJHsdGjnUp2P4E7pn2kUpsTfTp2Rr4qFoYlu2LwufjGiaR1VIL6v37tGqsIoiaL0sMM7zhplWQcLribW6w%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p></div><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin: 10px 0%;text-align: center;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="display: flex;flex-flow: row;justify-content: center;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: 30px;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;margin: 0px 0%;font-size: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 70%;height: auto;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311134898" data-ratio="1" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="png" data-w="650" src="https://wechat2rss.xlab.app/img-proxy/?k=d0454a69&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3ahickRibKTarcU7CDmAVDBQWnP956mqBfqGLUQIdSqK13UyianDPg5D8YL1HMNtv3dWrdL5CmTKJzBAAKnwTsaibnZKtJ6WKzk8Y%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 100 100 0%;height: auto;padding: 0px 3px 0px 0px;box-sizing: border-box;"><div style="color: rgb(21, 83, 212);line-height: 1.1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="display: inline-block;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">实战</span></strong></span></p></div></div></div></div></div></div></div><h3 style="text-align: justify;margin-top: 8px;margin-bottom: 8px;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">定位广告来源</span></span></h3><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">首先定位广告来源，反编译出来的代码没有混淆，直接搜索关键字就可以定位到开屏广告的位置。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.06939163498098859" data-type="webp" data-w="1052" style="max-width: 100%;" data-imgfileid="311134884" src="https://wechat2rss.xlab.app/img-proxy/?k=34403afb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K32kuG5YWXv07fUWuFTyaw1m1H68M7aNib6ygPdzklaMY7vNLtPczFpXokILEYdfVbrJKYQGQnu8FA75xsVjlagIUXtyFTPeESw%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">这里向上追一下调用关系，查到是从 AndroidManifest.xml 中的 LauncherActivity 开始的，那广告入口就是这里。</span></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.36964504283965727" data-type="webp" data-w="817" style="max-width: 100%;" data-imgfileid="311134882" src="https://wechat2rss.xlab.app/img-proxy/?k=38a6df91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0GQQFicg13D7zFlPYbbSLzgOG7PvibZhYhR9iaSPvvrs5qLz201icvNHqiaKtibIfKO4xpARgOJibvyEH94CEGVBADjPK1UiaHm8zPkTw%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.19830328738069988" data-type="webp" data-w="943" style="max-width: 100%;" data-imgfileid="311134881" src="https://wechat2rss.xlab.app/img-proxy/?k=a7a3615f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K3SarKLhZkw2FicTPzatHf6P4LAqCCWUvJhvcMNWTu4v2y3NJ768YXFdGoeRnxVAPay8U0qDS9eUfnictQPuxQPoTakhjCuBreKY%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p></div><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><h3 style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">去广告</span></span></h3></p><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">接下来就分析下广告展示逻辑并跳过它：</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.379583746283449" data-type="webp" data-w="1009" style="max-width: 100%;" data-imgfileid="311134883" src="https://wechat2rss.xlab.app/img-proxy/?k=4210c235&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0npZeGcMNHETNSaicvh8Aiaw3yVaVUWjEjicYf6ezlPK7g9buowhEFOsZcXicJ9HK0I89YavRgiak7WxlZicpNeZ8g4zOVU5tAsbNDA%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">可以看到这里有广告开关，看一下怎么切换到免广告。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.45092592592592595" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134886" src="https://wechat2rss.xlab.app/img-proxy/?k=7e62dc43&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K2ibaoTxvdpz3gGAJjQ9OqproU6TgPaAyMdqf5bolFyURV4BWPwkkDZlRD8JsBdttAfU2Fd0UblTYEwUFqicznWHuWibYyeV2csUw%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">这是 AdControl.sFreeAd 控制的新用户免广告，再看一下另一个条件。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.487962962962963" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134889" src="https://wechat2rss.xlab.app/img-proxy/?k=c7a81060&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2GojU81F4OVXradkOhiatmcU0GLaVUxD660ZIpL8mhZHu8tLBI7P40qiaDny2iauFYgFH7X9scacaHWvxia09GV8KkO5ENtmpibRVQ%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">看起来是个软件广告总开关，往后追了一下，这里是个开发者的后门控制开关。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="2.2222222222222223" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134890" src="https://wechat2rss.xlab.app/img-proxy/?k=c535e7b3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K0Jaia6NDBu7evxD2hQlLbuUhicIJ3iaOIlqNXhB5X9ksHly74OsKLJpcuvFWv14SxObBvuW93JibHsm7WkFJCQL34BcQpPO7EiapHc%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">那就直接选择从这里入手去广告，先看一下 smali：</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.6546296296296297" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134888" src="https://wechat2rss.xlab.app/img-proxy/?k=5f4630c1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1L7bEDdiaPxKnicc86IQphGBSw6nkfRfaJY6N1QicWO7lBibicNulgQ9d1jPfeHNDL2bvAECMSo8T7SkjbTnfvWXeiaFvghJwtoSAak%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">直接让 906 行的条件判断进入 </span></span><code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">sThirdAdType = 0;</span></span></code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);"> 的代码块即可, 所以在 905 行插入一行 </span></span><code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">const/4 p0, 0x1</span></span></code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);"> 把 p0 寄存器强制改为 true，效果如下。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.16296296296296298" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134887" src="https://wechat2rss.xlab.app/img-proxy/?k=467233f2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3jthQDCTbtfBicUXbYmFcVxHQ5Afl94icpA0DRmIZrEN59kcvWhMaDuNMWIxaz3ThwYn9DU44w8CDOuicLAiaTq0ceWbF3EeXuHzg%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">这样就可以达到目的了。</span></span></p><h3 style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">重打包</span></span></h3></div><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">接下来重新打包软件并签名，所以要先处理一下签名校验问题，通过反编译的代码可以看到这里有个检验的逻辑。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.6527415143603134" data-type="webp" data-w="766" style="max-width: 100%;" data-imgfileid="311134895" src="https://wechat2rss.xlab.app/img-proxy/?k=74f9833f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1icT09sMo5e2VnJibicEqSUSZrjY1plHgfD80FgLZ7MBw6yPVzSIbCib8YJ7riba3eaONkQVdUUUVzZmMT38WLFXSKGa5AY6ibLYqPE%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">在每次 activity 的 onCreate 中触发 appVerification 方法，这里也是有开关控制的，而且是编译期常量。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.06116207951070336" data-type="webp" data-w="654" style="max-width: 100%;" data-imgfileid="311134893" src="https://wechat2rss.xlab.app/img-proxy/?k=e468952e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K2jRyfco55NPgicSy2tF3O4s7Ztghvy1232rYTYHP6D4eA6ygGicM4UOVUwb5zvFfgyTsQXL9hxL822X3YqcDc9UOFJzlHBPb52I%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">所以这里还是继续改 smali</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.5638921453692849" data-type="webp" data-w="853" style="max-width: 100%;" data-imgfileid="311134894" src="https://wechat2rss.xlab.app/img-proxy/?k=a212bcad&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2qCnmACLC3EJQ8SHAHZQj4qPhN3fknkKwGouFQWv9iaWHcARWOuicHyHpXTZAIDmEb6pokuCjbSs1dgd7ibia7esbOyEiazD0d86do%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">这里把 </span></span><code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">sput-boolean v0, Lcom/macrovideo/sdk/GlobalConfiguration;-&gt;sIsSignatureVerification:Z</span></span></code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);"> 的 v0 寄存器改为 v1 即可。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.06804733727810651" data-type="webp" data-w="676" style="max-width: 100%;" data-imgfileid="311134891" src="https://wechat2rss.xlab.app/img-proxy/?k=f5930f1f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K1r18kaeN7uFhqGkMkTia6aMxMmJ13rtC7uKwdYicfZ3ibjZp0mtB2gic9jf2sNNicgD84pAqZ62h9lKQTr1rtAPOds9uajSiaDKztt0%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">把 sIsCheckRoot 也一起改为 false 了，然后尝试打包签名并运行，但是应用启动后闪退了。</span></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">用 logcat 查看下闪退的代码位置 </span></span><code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">adb logcat -c &amp;&amp; adb logcat -s AndroidRuntime:E</span></span></code></p><p style="text-align: justify;"><code></code></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="text-align: justify;"><code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">---------</span><span class="code-snippet__string">beginning</span><span class="code-snippet__string">of</span><span class="code-snippet__string">crash</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">08-10 17:45:51.946 15265 15281 E AndroidRuntime: FATAL EXCEPTION:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">Thread-2</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">08-10 17:45:51.946 15265 15281 E AndroidRuntime: Process:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">com.***.***,</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">PID:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__number">15265</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">08-10 17:45:51.946 15265 15281 E AndroidRuntime: java.lang.RuntimeException:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">entry</span><span class="code-snippet__string">classes6.dex</span><span class="code-snippet__string">is</span><span class="code-snippet__string">tamper</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">08-10 17:45:51.946 15265 15281 E AndroidRuntime:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">at</span><span class="code-snippet__string">com.security.shell.V5App$31.v(Native</span><span class="code-snippet__string">Method)</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">08-10 17:45:51.946 15265 15281 E AndroidRuntime:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">at</span><span class="code-snippet__string">com.security.shell.V5App$1.e(Unknown</span><span class="code-snippet__string">Source:11)</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">08-10 17:45:51.946 15265 15281 E AndroidRuntime:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">at</span><span class="code-snippet__string">com.security.shell.V5App$31.v(Native</span><span class="code-snippet__string">Method)</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">08-10 17:45:51.946 15265 15281 E AndroidRuntime:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">at</span><span class="code-snippet__string">com.security.shell.V5App$1.run(Unknown</span><span class="code-snippet__string">Source:8)</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">08-10 17:45:51.946 15265 15281 E AndroidRuntime:</span></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span class="code-snippet__string">at</span><span class="code-snippet__string">java.lang.Thread.run(Thread.java:1563)</span></span></code></pre></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">搜了下关键字 </span></span><code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">com.security.shell.V5App</span></span></code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">, 软件采用的是顶象加固，接下来准备进行脱壳，但是通过反编译的代码分析发现 dex 代码并没有用壳加固，所以直接改掉 AndroidManifest.xml 中的 application 配置。</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.5505804311774462" data-type="webp" data-w="603" style="max-width: 100%;" data-imgfileid="311134892" src="https://wechat2rss.xlab.app/img-proxy/?k=113b688d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K1tibicfCxnIibGnjp1MTwu15QueWBj3UzxicOn2s4NXTA5Ht51jz3pjLm34az13piamq8ibWdL35LpSibDq6HHI8OSJacTYHxPjibWWz0%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">这里的 appComponentFactory 也要一起改掉：</span></span><span leaf=""><br/></span><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.4784" data-type="webp" data-w="625" style="max-width: 100%;" data-imgfileid="311134896" src="https://wechat2rss.xlab.app/img-proxy/?k=325f1c35&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K0zgWJ7HQNwRaHSra3ZnhvmsACuazd0DWRrdczibp7fIJjEhldmHt7SibHgPknwD3eyM0FCuQfszxyAzp0WO6XdD6IrTZrg3LpYw%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">然后重新打包，签名，安装，软件启动成功，广告也正常关闭，ok</span></span></p><div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin: 10px 0%;text-align: center;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="display: flex;flex-flow: row;justify-content: center;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: 30px;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: left;margin: 0px 0%;font-size: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 70%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="650" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134899" src="https://wechat2rss.xlab.app/img-proxy/?k=5e2c0320&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0GGC3pFagPo5E9PTnM5f7DrhfIOQhbSf1pJx3LrDy8LvBOP6ia1ib0XhMKcb7JqOHke476stHrX5XSicY8ZkKibSESoQR0oaYeyH4%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 100 100 0%;height: auto;padding: 0px 3px 0px 0px;box-sizing: border-box;"><div style="color: rgb(21, 83, 212);line-height: 1.1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="display: inline-block;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">总结</span></strong></span></p></div></div></div></div></div></div></div><h2 style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(63, 63, 63);">总体来说整个过程还是比较顺利的，先定位广告来源，分析展示逻辑并 nop 掉，过签名校验，替换加固代码入口，重打包。因为整个操作都是在 Java 层，而且应用本身就有关闭广告的逻辑，所以基本上是没有什么难度的，最终也是成功实现了去广告的效果。(没有经过混淆的代码看起来真的是太舒服了)</span></span></h2><blockquote><p><span leaf="">本文仅用于软件逆向分析与技术经验分享，旨在探讨移动应用的实现原理及相关技术。</span></p><p><span leaf="">文中涉及的应用名称、关键参数、接口信息、代码及其他敏感内容均已进行脱敏或适当处理。本文内容仅供学习、研究和技术交流使用，请勿将相关技术用于侵犯他人合法权益、破坏软件正常运行或其他违法违规行为，由此产生的任何后果与本文作者无关。</span></p><p><span leaf="">如涉及相关软件的合法权益，请联系作者进行处理。</span></p></blockquote></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;caret-color: rgb(51, 51, 51);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);letter-spacing: 1px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: auto;margin-left: auto;padding: 15px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;font-variant-numeric: normal;letter-spacing: 0.544px;line-height: 27.2px;width: 656.688px;justify-content: space-between;align-items: center;flex-direction: row;box-shadow: rgb(217, 218, 218) 0px 0px 10px;background-color: rgb(232, 234, 235);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;justify-content: flex-start;align-items: center;flex-direction: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;border-width: 1px;border-style: solid;border-color: rgb(182, 182, 187);border-radius: 50%;width: 70px;height: 70px;overflow: hidden;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="128" style="-webkit-tap-highlight-color:transparent;outline:0px;border-style:none;letter-spacing:0.544px;display:inline;width:68px;visibility:visible !important;height:68px;" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_png/Cpo2XCpI7K27IIpNgcz4m9c3QIGXOCbSQrfLp0SlVK8S7XzzHL4v2bSAcibNEBp27SCNaqYiblEFnMVH5mjSvVr9sN7ZuorjLwqcqU9GFRxz0/0?wx_fmt=png&amp;from=appmsg" data-cropselx1="0" data-cropselx2="68" data-cropsely1="0" data-cropsely2="68" data-imgfileid="311134880" src="https://wechat2rss.xlab.app/img-proxy/?k=48ed8b24&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K27IIpNgcz4m9c3QIGXOCbSQrfLp0SlVK8S7XzzHL4v2bSAcibNEBp27SCNaqYiblEFnMVH5mjSvVr9sN7ZuorjLwqcqU9GFRxz0%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-left: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;align-items: flex-start;justify-content: center;flex-direction: column;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" data-immersive-translate-paragraph="1" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 15px;letter-spacing: 1px;font-weight: bolder;"><span leaf="">看雪ID：</span><span leaf=""><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">xtyuns</span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;vertical-align: inherit;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 14px;letter-spacing: normal;"><span leaf=""><span textstyle="" style="letter-spacing: normal;font-style: italic;"><a href="https://bbs.kanxue.com/user-home-899246.htm" target="_blank">https://bbs.kanxue.com/user-home-899246.htm</a></span></span></span></p></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;min-height: 1em;background-color: rgb(255, 255, 255);"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 14px;color: rgb(136, 136, 136);"><span leaf="">*本文为看雪论坛优秀文章，由 </span><span leaf="">xtyuns</span><span leaf="">原创，转载请注明来自看雪社区</span></span></p><div style="text-align: center;margin-left: 0px;margin-right: 0px;"><p style="text-align: center;margin-top: 16px;"><a href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458616439&amp;idx=1&amp;sn=ed63972eed0764f9dc562e899e512e05&amp;scene=21#wechat_redirect" imgurl="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/640?wx_fmt=jpeg&amp;from=appmsg" linktype="image" tab="innerlink" data-itemshowtype="0" target="_blank" data-linktype="1"><span style="width:100%;" class="js_jump_icon h5_image_link"><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40390625" data-s="300,640" data-type="jpeg" data-w="1280" style="width:100%;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/0?wx_fmt=jpeg&amp;from=appmsg" data-cropselx2="578" data-cropsely2="294" data-imgfileid="311132601" src="https://wechat2rss.xlab.app/img-proxy/?k=34c8b770&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></span></a></p><p style="text-align: center;"><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">第十届安全开发者峰会【</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;margin-left: 0px;margin-right: 0px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">议题征集</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">】-欢迎投稿</span></span></p></div><div mpa-from-tpl="t" data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 16px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: 645px;vertical-align: top;background-color: rgb(248, 248, 248);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 20px;margin-bottom: 20px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;flex-flow: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: 30px;margin-left: 30px;-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: auto;vertical-align: top;flex: 100 100 0%;height: auto;align-self: flex-start;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(68, 73, 85);" data-mpa-action-id="mpz85kk210x5" data-pm-slice="0 0 []"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;font-weight: bolder;letter-spacing: 1px;font-size: 15px;color: rgb(2, 30, 170);" data-mpa-action-id="mc4gkooxw4z"><span style="color: rgb(2, 30, 170);font-size: 15px;" mpa-font-style="md8f6c2zutc"><span style="color: rgb(2, 30, 170);font-size: 14px;" mpa-font-style="mpz85kjeogg"><span leaf=""><span textstyle="" style="color: rgb(2, 30, 170);"># 往期推荐</span></span></span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618507&amp;idx=1&amp;sn=77bdb73ed02c2ca4234d6e63120c9282&amp;scene=21#wechat_redirect" textvalue="从 r0capture 到 eCapture：Hermes Agent 自动抓包在真实任务里的价值" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">从 r0capture 到 eCapture：Hermes Agent 自动抓包在真实任务里的价值</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618459&amp;idx=1&amp;sn=b445b8909b73c5c33e80ec7bbf7d351f&amp;scene=21#wechat_redirect" textvalue="Kali 下 Android Studio 无法输入中文的问题排查与解决" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">Kali 下 Android Studio 无法输入中文的问题排查与解决</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618431&amp;idx=1&amp;sn=6fb037cb1e411b795256e427858c349c&amp;scene=21#wechat_redirect" textvalue="Intel 酷睿 CPU Management Engine 固件研究与分析逆向：实战DCI链接与ME解锁尝试" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">Intel 酷睿 CPU Management Engine 固件研究与分析逆向：实战DCI链接与ME解锁尝试</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618398&amp;idx=2&amp;sn=533b3c8caabaee9461f35aad0b407035&amp;scene=21#wechat_redirect" textvalue="记一次入门级DexVMP分析" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">记一次入门级DexVMP分析</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618348&amp;idx=2&amp;sn=d9c412412014b4d272cd580be7c52053&amp;scene=21#wechat_redirect" textvalue="DirtyFrag浅析及一条新的攻击路径" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">DirtyFrag浅析及一条新的攻击路径</span></a></span></p></div></div></div></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;" nodeleaf=""><img data-aistatus="1" alt="图片" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="-webkit-tap-highlight-color: transparent;outline: 0px;border-style: none;color: rgb(102, 102, 102);font-family: 微软雅黑;font-size: 15px;letter-spacing: 0.544px;widows: 1;display: inline;width: 661px !important;visibility: visible !important;" width="661px" data-backw="562" data-backh="263" data-copyright="0" data-fileid="100035996" data-imgfileid="311109982" src="https://wechat2rss.xlab.app/img-proxy/?k=e6b64b01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FUia4617poZXP96fGaMPXib13V1bJ52yHq9ycD9Zv3WhiaRb2rKV6wghrNa4VyFR2wibBVNfZt3M5IuUiauQGHvxhQrA%2F640%3Fwx_fmt%3Dother%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1%26tp%3Dwebp"/></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111351" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 13px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111352" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111353" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111354" src="https://wechat2rss.xlab.app/img-proxy/?k=6ec9988e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpUHZDmkBpJ4khdIdVhiaSyOkxtAWuxJuTAs8aXISicVVUbxX09b1IWK0g%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 15px;box-sizing: border-box;"><span leaf="">点击阅读原文查看更多</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://bbs.kanxue.com/thread-292441.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=20ddf486&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618624%26idx%3D1%26sn%3Dc8e240819534742b651ac3a09688faac">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 13 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>从“猫鼠游戏”到网联车安全｜HG TALK 第五期：对话王志鹏 &amp; 章意</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618624&amp;idx=2&amp;sn=5fe496300db98ee1a157bda201193dad</link>
      <description></description>
      <content:encoded><![CDATA[<p><span>HGTALK</span> <span>2026-08-13 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=f3ce0b53&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3TqsDOS6kvnMvdkNia6jfZt2lJVjcgmPxtRmCyEJCYWJXTdB45B4551fL0R8wxIkrWDyliaEsVEAAw6c1HT6WspBB8TMqJsCELk%2F0%3Fwx_fmt%3Djpeg"/></p>
  
  <div style="margin-bottom: 24px;"><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&#34;mp-quote&#34;, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 15px;">技术不分咖位，热爱才是一切。</span></span></p><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">这一期的两位嘉宾，有着一段特殊的关系——他是他的引路人，他是他带出来的人。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">茶已备好。这次我们坐在成都的茶馆里，慢慢聊。</span></span></p><p style="text-align: center;margin-top: 8px;" nodeleaf=""><img class="rich_pages wxw-img js_insertlocalimg" data-aistatus="1" data-backh="244" data-backw="578" data-imgfileid="100008499" data-ratio="0.4212962962962963" data-s="300,640" type="block" data-type="jpeg" data-w="1080" style="width:100%;" src="https://wechat2rss.xlab.app/img-proxy/?k=1c333e82&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FlyhdRmkItUwibWQCXsVBAX4pzibD96m03xyVf6ic9iaj5RnL7Q6vqKwK65ia5SDd0MwDXSGAjFYB4nKI4cnwIe1Roziboa4SPAGqQiaENjfxzNreRA%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><strong style="font-weight: 600;"><span leaf=""><span textstyle="" style="font-size: 15px;">Thanos </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">王志鹏</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">为辰信安技术总监，</span></span><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, \&#34;system-ui\&#34;, \&#34;Segoe UI\&#34;, Roboto, Oxygen, Ubuntu, Cantarell, \&#34;Open Sans\&#34;, \&#34;Helvetica Neue\&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="font-size: 15px;">圈内人送外号“车联网安全黄埔军校校长”。</span></span></p><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">智能网联汽车与物联网安全专家，国家级赛事裁判及规则委员，多项国家标准参编者，具身智能安全专家。</span></span></p><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">他的技术故事，始于少年时与父亲的“猫鼠游戏”——破解系统密码、破解BIOS密码，父亲一气之下用铆钉把机箱封死。后来，他在FF0000、1937CN技术大佬启蒙下拿到第一个Shell，参军、创业、在车联网安全领域扎根。而真正让他被圈内记住的，除了技术本身，还有一件事：</span></span><strong style="font-weight: 600;"><span leaf=""><span textstyle="" style="font-size: 15px;">他带出来的年轻人，如今遍布全国各大车企和检测机构。</span></span></strong></p><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><strong style="font-weight: 600;"><span leaf=""><span textstyle="" style="font-size: 15px;">章意</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，就是优秀代表。</span></span></p><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">吉利学院专任教师，HG028B第一发起人。</span></span><span style="color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">江苏省网络空间安全学会工业控制与工业互联网安全专委会会员，广西产学研科学研究院合作专家，IoT安全与人工智能安全研究者，具身智能安全研究者。</span></span></span><span style="color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><br/></span></span></p><span style="color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">本科读网络工程，考研时被“技术报国”触动转向网络安全，读研偏学术，缺乏实战。面试时，王志鹏看中了他的潜力，给了他入行的机会。从sql注入学起，一步一个脚印走出自己的路。</span></span></span><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">如今，王志鹏带出来的那批人已经形成了覆盖全国的技术网络——他们分布在主流车企、检测机构、安全厂商，彼此之间至今保持着紧密的联系。</span></span></p><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">一个是“黄埔军校校长”，一个是“黄埔”走出来的代表。多年后，他们坐在</span></span><span style="color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">同一张茶台前</span></span></span><span leaf=""><span textstyle="" style="font-size: 15px;">，聊聊各自的路，也聊聊那段共同经历。</span></span></p><p style="margin: 16px 0px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><strong style="font-weight: 600;"><span leaf=""><span textstyle="" style="font-size: 15px;">这次见面，我们就聊这些：</span></span></strong></p><ul style="margin: 16px 0px;padding-left: 18px;color: rgb(15, 17, 21);font-family: quote-cjk-patch, Inter, system-ui, -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, Roboto, Oxygen, Ubuntu, Cantarell, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li><p style="margin-top: 0px !important;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;">从“猫鼠游戏”到车联网安全——两个人的入行故事</span></span></p></li><li style="margin-top: 6px;"><p style="margin-top: 0px !important;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;">“车联网安全黄埔军校”是怎么炼成的？</span></span></p></li><li style="margin-top: 6px;"><p style="margin-top: 0px !important;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;">那批人现在都在哪里？一个覆盖行业的技术网络如何形成？</span></span></p></li><li style="margin-top: 6px;"><p style="margin-top: 0px !important;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;">从软安全到硬安全，再到具身智能——安全边界在如何扩展？</span></span></p></li><li style="margin-top: 6px;"><p style="margin-top: 0px !important;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;">给后来者的建议：如何找到自己的引路人</span></span></p></li></ul><p style="margin-top: 16px;margin-right: 0px;margin-bottom: 0px !important;margin-left: 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;">没有PPT，没有商业推介，就是三个人，一壶茶，面对面，有一说一。</span></span></p><p style="margin: 8px 0px 16px;"><strong style="font-weight: 600;"><span leaf=""><span textstyle="" style="font-size: 15px;">直播时间</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">：8月16日（周日）下午 3:00</span></span><span leaf=""><br/></span><strong style="font-weight: 600;"><span leaf=""><span textstyle="" style="font-size: 15px;">直播平台</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">：微信视频号「HackingGroup」</span></span></p><p style="margin: 16px 0px;"><span leaf=""><span textstyle="" style="font-size: 15px;">预约通道已开启，点击预约</span></span></p><p class="channels_iframe_wrp" nodeleaf=""><mp-common-videosnap class="js_uneditable custom_select_card channels_live_iframe" data-pluginname="mpvideosnap" data-headimgurl="https://mmhead.c2c.wechat.com/finderhead/II7ujibGfVXtBmhgA7Q73gWcZxzHzOUqBgWKMBibbl6xzpUcROG27eHhLMxVwnfb11IZ6qQNGViaqE/0" data-username="v2_060000231003b20faec8c7e68b18c1d5cc01ec3cb0776e001c2e8e814e7e027412c4b40e1ea4@finder" data-nickname="HackingGroup" data-desc="将在08月16日 15:00 直播" data-type="live" data-intro="从“猫鼠游戏”到网联车安全" data-noticeid="finderlivenotice-v2_060000231003b20faec8c7e68b18c1d5cc01ec3cb0776e001c2e8e814e7e027412c4b40e1ea4@finder-1786361757306687-1235520315" data-status="0"></mp-common-videosnap></p><p style="margin: 16px 0px;"><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;margin: 16px 0px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="font-size: 15px;">周日见。</span></span></p><p style="text-align: right;"><em><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">-- 看雪学苑、嘶吼、Hacking Group · HG TALK</span></span></em></p></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=3b1b26d1&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618624%26idx%3D2%26sn%3D5fe496300db98ee1a157bda201193dad">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 13 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>Cisco防火墙零日漏洞遭野外利用，可无认证触发DoS瘫痪</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618624&amp;idx=3&amp;sn=ad1379f0308b86ff67b12d02c68a237c</link>
      <description>多款防火墙设备受影响</description>
      <content:encoded><![CDATA[<p><span>看雪学苑</span> <span>2026-08-13 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=bd3eccfb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3mgXK9GRp7neSqdOHciaCUnNicBy0yUwMSW5Bw1lwPMY4mHwSY7lCibGTkdy5BYp9z8OjYkfIEh2YFnbcBWib9pbmVV28dJDicuojc%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>多款防火墙设备受影响</p>
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="line-height: 2;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">漏洞编号：</span>CVE-2026-20349</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">风险等级：</span>高危（已公开野外利用、无可用临时规避方案）</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">影响产品：</span>Cisco ASA安全防火墙、FTD威胁防御软件</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">核心危害：</span>未授权远程攻击者发送恶意请求，可强制设备重启，造成VPN及全网业务DoS瘫痪</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">处置建议：</span>立即核查设备版本与开启功能，优先安装官方热补丁或升级固定版本</span></p></div><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;margin-top: -3px;border-radius: 5px;color: rgb(255, 255, 255);background-color: rgb(0, 0, 0);padding: 2px 8px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一、事件通报</span></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">近期，思科官方安全团队（PSIRT）正式披露一则高危零日漏洞预警，</span><strong style="box-sizing: border-box;"><span leaf="">确认Cisco防火墙SSL VPN组件存在未授权拒绝服务漏洞，</span></strong><span leaf="">且该漏洞目前已</span><strong style="box-sizing: border-box;"><span leaf="">出现野外真实利用案例，</span></strong><span leaf="">不存在漏洞曝光空窗期，全网部署相关设备的企业、机构需紧急开展自查修复工作。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">该漏洞</span><strong style="box-sizing: border-box;"><span leaf="">针对思科主流边界安全设备，</span></strong><span leaf="">广泛影响企业远程办公、专线互联、零信任接入核心链路。由于攻击无需账号密码、利用门槛极低，且攻击成功后直接导致设备重启断连，对企业核心业务连续性、远程办公稳定性造成极大威胁，属于</span><strong style="box-sizing: border-box;"><span leaf="">全网高优先级修复漏洞。</span></strong></p></div><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;margin-top: -3px;border-radius: 5px;color: rgb(255, 255, 255);background-color: rgb(0, 0, 0);padding: 2px 8px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">漏洞原理：无需认证，简易攻击即可瘫痪设备</span></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">CVE-2026-20349 漏洞本质是</span><strong style="box-sizing: border-box;"><span leaf="">SSL VPN服务处理HTTP请求时错误校验机制缺失。</span></strong><span leaf="">攻击者无需获取设备任何合法账号权限，仅需向公网暴露的远程接入SSL VPN端口，发送精心构造的恶意HTTP请求，即可触发设备异常。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">攻击核心特点：</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 零认证准入：无需登录权限、无需内网渗透，外网可直接发起攻击</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 利用门槛极低：仅需构造普通HTTP请求，无复杂漏洞利用链路</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 破坏性极强：直接触发设备强制重启，而非单一服务卡顿</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 影响范围广：波及VPN会话、站点互联、边界全网流量</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">设备重启期间，所有依托该防火墙的远程办公VPN、政企专线互联、云端业务访问、内网对外服务全部中断，即便短暂重启，也会直接造成业务断层、办公停滞，对依赖边界VPN的企业造成实质性业务损失。</span></p></div><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;margin-top: -3px;border-radius: 5px;color: rgb(255, 255, 255);background-color: rgb(0, 0, 0);padding: 2px 8px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">受影响范围：仅特定配置设备存在风险</span></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">本次漏洞并非所有思科防火墙设备均受影响，仅满足指定系统版本+开启对应功能的设备存在漏洞风险，管理员可精准自查：</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">高危开启配置（满足其一即受影响）：</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 设备接口开启 WebVPN 远程SSL VPN功能</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 启用 IKEv2 远程接入VPN客户端服务</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- FTD设备单独开启零信任网络访问（ZTNA）功能</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">明确不受影响产品：</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Cisco Secure Firewall Management Center（FMC）防火墙管理中心软件无此漏洞，无需修复。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">漏洞发现背景：该漏洞由思科内部安全测试发现，同时由安全研究员 Valerio Brussani 上报厂商，2026年8月正式监测到野外批量利用行为。</span></p></div><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;margin-top: -3px;border-radius: 5px;color: rgb(255, 255, 255);background-color: rgb(0, 0, 0);padding: 2px 8px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">官方修复方案：无临时规避，仅补丁/升级可根治</span></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">思科官方明确表态：</span><strong style="box-sizing: border-box;"><span leaf="">目前无任何有效临时规避方案、无配置替代防护手段，</span></strong><span leaf="">所有受风险设备必须通过安装热补丁或升级固定系统版本彻底修复漏洞，临时策略无法抵御野外攻击。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">官方已发布</span><strong style="box-sizing: border-box;"><span leaf="">对应热补丁，</span></strong><strong style="box-sizing: border-box;"><span leaf="">覆盖主流版本分支：</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- ASA 防火墙：9.16、9.18、9.20、9.22、9.23、9.24 全系列分支热补丁</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- FTD 威胁防御：7.0、7.2、7.4、7.6、7.7、10.0 全系列分支热补丁</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">针对编号以“89”开头的ASA热补丁，管理员需提前将</span><strong style="box-sizing: border-box;"><span leaf="">ASDM管理界面升级至 7.24.1.374及以上版本，</span></strong><span leaf="">否则管理界面无法识别新版补丁编号，导致修复异常。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">除热补丁快速修复外，企业也可通过思科软件检测工具，查询设备硬件对应的最早安全固定版本，执行完整系统升级修复。所有官方补丁均已上架思科软件中心，可直接下载部署。</span></p></div><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;margin-top: -3px;border-radius: 5px;color: rgb(255, 255, 255);background-color: rgb(0, 0, 0);padding: 2px 8px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">企业应急处置建议</span></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">结合当前野外攻击态势，建议各企业安全团队立即启动应急排查与修复流程，优先处置公网暴露资产：</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">1、快速资产自查</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">梳理全网边界思科防火墙设备，核查系统版本、WebVPN/IKEv2/零信任功能开启状态，精准定位高危设备，建立风险资产清单。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">2、优先批量补丁修复</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">对公网可直接访问的SSL VPN边界设备、远程接入网关，优先完成热补丁部署，阻断外部攻击链路。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">3、事后安全核验</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">修复完成后，核验VPN接入业务可用性，排查设备重启日志，监控VPN门户异常HTTP访问流量，排查是否存在既往攻击痕迹。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">4、长期风险管控</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">严格收敛公网暴露的VPN端口与服务，缩小攻击面，常态化监测边界设备异常重启、流量突变行为，建立漏洞快速响应机制。</span></p></div><div style="font-size: 14px;color: rgb(116, 114, 114);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><span leaf="">资讯来源：Cisco PSIRT 官方安全公告</span></em></p></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134967" src="https://wechat2rss.xlab.app/img-proxy/?k=f377299d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K1DERXOYzbr1pqeW0py2DTNI9P51ibmjfJzDpoHX2fBBiaL8upOfLq54lGVCgedgGIibGiazrkgic3tWeV1J615GVlO7QKxWklPUOpI%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134970" src="https://wechat2rss.xlab.app/img-proxy/?k=154c6b75&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K3y423cApv9hxFoRk1Vf7Q2emp4W4F7dX48JZkRX19MUyoHGk4LicUxSNSt8rC9LcMGNCNpJjzjJgy2AicpibQcfppicCWNnOVILRo%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134968" src="https://wechat2rss.xlab.app/img-proxy/?k=5a982ae4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K0ibIILGFd8F9COEYF11JtZyCvoOcnJokKae7xLd0sQRKlvIUMhVjF9ySZlTWbYhLXcdrXf35FYib43KyCIRn9HeAWrCSO5cbhJI%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134971" src="https://wechat2rss.xlab.app/img-proxy/?k=f5209432&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K32JUrvuzzrKoomNff1ZiaiaSz9u42N3xm2HhSl1RII7elssqI8NKm8rDU9rQdRFSh3jtoibdSxNOloFMmyROwjL9OyohvCsegk0c%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=85d68da1&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618624%26idx%3D3%26sn%3Dad1379f0308b86ff67b12d02c68a237c">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 13 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>2026 KCTF | 第二题《巳时·绿光幽语》设计思路及解析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618567&amp;idx=1&amp;sn=24f4ab4a8e18ee6465d3734aa39a7883</link>
      <description>『RST』战队“一血”仅用时9分58秒</description>
      <content:encoded><![CDATA[<p><span>2026 KCTF</span> <span>2026-08-12 18:06</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=6b9d46ea&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K0jvocaicpqB6HgtJ9oicl0iaMKfu5LPHosjyj7sKtoEPT5x3AibfnXpC2Ry9Zae4Xc0Pqk7UhM9YtuHhoxibndS4NtNu7aibqJqyuxI%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>『RST』战队“一血”仅用时9分58秒</p>
  <div><p style="text-align: center;margin-left: 0px;margin-right: 0px;margin-bottom: 16px;" nodeleaf="" data-pm-slice="1 2 []"><img class="rich_pages wxw-img" data-aistatus="1" data-backh="227" data-backw="562" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K3S00vDboHbzMbDckrUsMuPvAR9Ua9N546JTckVv2fcEZAPHKvosNeFhmmKyVxoyU2LwXYf4ibn1IibLF5uznZPYQq2wcF2OZEfI/0?wx_fmt=jpeg&amp;from=appmsg" data-cropselx1="0" data-cropselx2="562" data-cropsely1="0" data-cropsely2="227" data-imgfileid="311134840" data-ratio="0.40390625" data-s="300,640" style="width: 100%;" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=855b2db5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3S00vDboHbzMbDckrUsMuPvAR9Ua9N546JTckVv2fcEZAPHKvosNeFhmmKyVxoyU2LwXYf4ibn1IibLF5uznZPYQq2wcF2OZEfI%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;" data-pm-slice="0 0 []"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(0, 82, 255);">8月10日12:00，2026 KCTF攻防对抗赛正式开赛！</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">本届赛事沿用多维度积分体系，</span></span><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(0, 82, 255);">难度、火力、精致度</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">三重积分同步核算，攻防双向计分机制兼顾趣味性与竞技性。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf="" style="text-align: justify;font-size: 14px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(136, 136, 136);font-style: italic;">*签到题《</span></span><span leaf="" style="text-align: justify;font-size: 14px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(136, 136, 136);font-style: italic;">辰时·钟鸣破晓</span></span><span leaf="" style="text-align: justify;font-size: 14px;" mpa-font-style="megqp0w5gsl" data-mpa-action-id="megqp0wo1oqt" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify; margin-left: 8px; margin-right: 8px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(136, 136, 136);font-style: italic;">》赛事周期内持续开放，比赛全程都可以提交 flag 获取对应攻击积分。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: left;box-sizing: border-box;"><p style="display: inline-block;box-sizing: border-box;"><span style="display: block;padding: 0.3em 0.5em;border-radius: 0.8em 0.8em 0px 0px;background-color: rgb(38, 79, 219);font-size: 13px;color: rgb(255, 255, 255);box-sizing: border-box;" title=""><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="" mpa-font-style="megstv2mh63" style="font-size: 15px;" data-mpa-action-id="megstv3nh2p" data-pm-slice="0 0 []"><span textstyle="" style="font-weight: bold;">值得关注：</span></span></p></span></p><div style="border: 1px solid rgb(38, 79, 219);border-radius: 0px 0px 0.8em 0.8em;padding: 10px;box-sizing: border-box;"><div data-pm-slice="3 3 []"><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">本题的解题数据也折射出 </span><span textstyle="" style="letter-spacing: 1px;color: rgb(0, 82, 255);font-weight: bold;">AI 对 CTF 竞赛正在产生的结构性影响。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">截止</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">今天中午12点，第二题《巳时·绿光幽语》关卡已关闭。</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">本题共有</span><span textstyle="" style="letter-spacing: 1px;color: rgb(0, 82, 255);">119支</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">战队成功提交flag，</span></span><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">『RST』战队“</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;-webkit-tap-highlight-color: transparent; margin: 0px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(63, 63, 63); font-family: -apple-system, BlinkMacSystemFont, \&#34;Helvetica Neue\&#34;, \&#34;PingFang SC\&#34;, \&#34;Hiragino Sans GB\&#34;, \&#34;Microsoft YaHei UI\&#34;, \&#34;Microsoft YaHei\&#34;, Arial, sans-serif; font-size: 15px; letter-spacing: 1px; text-align: justify; background-color: rgb(255, 255, 255); line-height: 1.75em; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(0, 82, 255);">一血</span></span><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">”</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;-webkit-tap-highlight-color: transparent; margin: 0px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(63, 63, 63); font-family: -apple-system, BlinkMacSystemFont, \&#34;Helvetica Neue\&#34;, \&#34;PingFang SC\&#34;, \&#34;Hiragino Sans GB\&#34;, \&#34;Microsoft YaHei UI\&#34;, \&#34;Microsoft YaHei\&#34;, Arial, sans-serif; font-size: 15px; letter-spacing: 1px; text-align: justify; background-color: rgb(255, 255, 255); line-height: 1.75em; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(0, 82, 255);">仅用时</span></span><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">9分58秒。</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">这样的破解速度和覆盖面，在过去同等难度的 Reverse 题中并不常见。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf=""><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">去年我们更多看到的是少数选手开始尝试借助大模型辅助分析，可以说还是“由点到面”的扩散阶段；而到了今年，变化已经明显不只是“更多人开始使用 AI”，而是</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">AI 正在实质性改变逆向题的解题效率、技术门槛和竞赛节奏。</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">过去需要选手花较长时间完成的 PyInstaller 解包、Python 字节码分析、异常代码定位、算法还原等工作，如今在合适的工具链和提示引导下，AI 已经能够在很短时间内协助完成其中相当一部分。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf=""><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">对 CTF 出题者而言，这也意味着一个新的命题正在出现：</span><span textstyle="" style="letter-spacing: 1px;color: rgb(0, 82, 255);">当 AI 可以快速完成传统意义上的静态分析和模式识别后，未来的赛题究竟应该考什么，才能继续有效区分选手真正的分析、判断与创新能力？</span></span></p></div></div></div></div></div><p data-mpa-action-id="megqse1p1ot1" data-pm-slice="0 0 []" style="text-align: center;margin-left: 0px;margin-right: 0px;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-w="66" style="background-color: transparent;height: 20px !important;max-height: 20px !important;width: 20px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=10481d07&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fb96CibCt70iaajvl7fD4ZCicMcjhXMp1v6UySjBsicfskksWGIKK2MULhpYTM0flKpUG8scYzufZ1aKN2EKEPUx4RQ%2F640"/></p><p data-pm-slice="2 2 [&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify; margin-left: 8px; margin-right: 8px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">我们带着这些问题和好奇</span></p><p data-pm-slice="2 2 [&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify; margin-left: 8px; margin-right: 8px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">一起来看看本题的设计思路&amp;解题思路</span></span></p><div style="font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: left;box-sizing: border-box;"><p style="display: inline-block;box-sizing: border-box;"><span style="display: block;padding: 0.3em 0.5em;border-radius: 0.8em 0.8em 0px 0px;background-color: rgb(38, 79, 219);font-size: 13px;color: rgb(255, 255, 255);box-sizing: border-box;" title=""><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="" mpa-font-style="megstv2mh63" style="font-size: 15px;" data-mpa-action-id="megstv3nh2p" data-pm-slice="0 0 []"><span textstyle="" style="font-weight: bold;">KCTF评委团队点评：</span></span></p></span></p><div style="border: 1px solid rgb(38, 79, 219);border-radius: 0px 0px 0.8em 0.8em;padding: 10px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">本题的亮点不在于复杂的密码算法，而在于对<span textstyle="" style="font-weight: bold;">Python 打包与运行机制的巧妙利用。</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">题目以 PyInstaller 作为表层入口，却将真正的校验逻辑隐藏在重新编译的 python313.dll 中，并进一步植入 frozen os 模块，使代码在 main.py 执行之前即被触发，有效避开了常规“解包—反编译主脚本”的分析路径。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">在最终校验阶段，题目没有采用直接比较字符串的方式，而是将用户输入作为循环 XOR 密钥，动态还原 my_function 的字节码与常量；而题目给出的目标输出又恰好构成已知明文，为选手留下了清晰但不直白的突破口。</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">整体来看，这是一道<span textstyle="" style="font-weight: bold;">藏得深、算法简、思路巧</span>的 Reverse 题，真正考验的是选手对程序运行链路、Python 字节码以及异常现象的敏感度，而非单纯依赖工具完成机械式反编译。</span></p></div></div></div></div><p data-mpa-action-id="megqse1p1ot1" data-pm-slice="0 0 []" style="text-align: center;margin-left: 0px;margin-right: 0px;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-w="66" style="background-color: transparent;height: 20px !important;max-height: 20px !important;width: 20px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=10481d07&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fb96CibCt70iaajvl7fD4ZCicMcjhXMp1v6UySjBsicfskksWGIKK2MULhpYTM0flKpUG8scYzufZ1aKN2EKEPUx4RQ%2F640"/></p><p data-pm-slice="2 2 [&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify; margin-left: 8px; margin-right: 8px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]" style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">一起来看看本题的设计思路&amp;解题思路</span></span></p><div style="font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: bottom;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);font-size: 14px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">一、</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">设计思路</span></b></p></div></div></div></div></div></div></div><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" mpa-font-style="megqpatvqta" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;" data-mpa-action-id="megqpatvcl3" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">出题战队</span></span><span leaf="" mpa-font-style="megqpatvqta" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;" data-mpa-action-id="megqpatvcl3" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">：</span></span><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">one team</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">战队成员ID：</span></span><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">穿甲葡萄籽</span></span></p><p style="text-align: center;margin-left: 0px;margin-right: 0px;margin-top: 8px;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.41472868217054265" data-s="300,640" data-type="png" data-w="2064" style="width: 100%;" type="block" data-backw="578" data-backh="240" data-imgfileid="311134865" src="https://wechat2rss.xlab.app/img-proxy/?k=98d7c26b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0yia5g7l1YibdvQOsF5gvSPbxl6yyrxlQPmzTwOM2JNFVbW88KXgLE1MdNrjspbIEnyhNN1yVx2eRICYqClCBc6AXUo139zw9Ro%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;" data-pm-slice="0 0 []"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">题目需要6个字符串，字符范围在小写大写数字中组成。成功后控制台会输出“恭喜成功！”，如果输出其他乱码字符或程序崩溃不算成功。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">文件pyinstaller打包。将代码编写到os.py中，通过python源码编译把os.py编译到python.dll中。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">用户可从python.dll中还原出os.py的代码。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">根据提示的代码可获取到“print(&#34;恭喜成功！&#34;)”编译后的python字节马。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: justify;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">根据os.py中的分组异或代码可分析出异或的key。</span></span></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">x</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">0</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">while</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">x&lt;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">20</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">:</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">def</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my_function():</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">print</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">666</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">)</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">try</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">:</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">x</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">+</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">1</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">buffer</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b&#39;&#39;.join([</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\xB3\xDA\xC5\xB2\xF1\xEF\xBA\xE9\xD9\xBC\xC9\xD5\xBD\xF3\xD4\xBD&#39;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">,</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\xEA\xCD\xB0\xDB\xCA\xB2\xCF\xD1\xB1\xEE\xF6\xB2\xF5\xD4\x58\x5F&#39;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">,</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\x31\x30\x33\x75\x38\x2C\x0A\x33\x20\x3B\x36\x21\x3C\x3A\x3B\x7D&#39;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">,</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\x7C\x6F\x58\x5F\x5C\x25\x27\x3C\x3B\x21\x7D\x77\xB3\xD4\xF8\xB0&#39;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">,</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\xC3\xC9\xB3\xDD\xC5\xB0\xDF\xCA\xBA\xE9\xD4\x77\x7C\x58\x5F\xBD&#39;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">,</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\xFA\xE2\xBD\xEB\xC6\xB0\xD0\xF0\x3E\x30\x2C\xBD\xEA\xCD\xB0\xDB&#39;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">,</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\xCA\xB1\xEE\xF6\xB2\xF5\xD4\xBA\xE9\xDD\xBD\xFA\xE2\xBD\xEB\xC6&#39;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">,</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\xB0\xD0\xF0\x63\xB1\xED\xFF\xB0\xF8\xC2\xB2\xF9\xF3\xBA\xE9\xDC&#39;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">])</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">w</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b&#34;&#34;</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">for</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">i </span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">in</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">buffer</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">:</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">i^</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">0x55</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">w</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">+</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b.to_bytes(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">1</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">)</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">print</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(w.decode(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#34;utf-8&#34;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">))</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">key</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">input</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">()</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">if</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">len</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(key)!</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">6</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">:</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">continue</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b_key</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">key.encode()</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">c</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\xecbmucryb6tcr*c\x03ucryb6tCr\x1eb&#39;</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">buf</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b&#34;&#34;</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">for</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">i </span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">in</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">range</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">len</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(c)):</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">buf</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">+</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(c[i]^b_key[i</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">%</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">len</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(b_key)]).to_bytes(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">1</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">)</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my_function.__code__</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my.replace(co_code</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">buf)   </span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">buf</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b&#34;&#34;</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">succ</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">b</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#39;\x9f\xe3\x9b\x91\xf5\xee\x9f\xea\xa6\x91\xe9\xed\x96\xde\xb7&#39;</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">for</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">i </span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">in</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">range</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">len</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(succ)):</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">buf</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">+</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(succ[i]^b_key[i</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">%</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(255, 170, 62) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">len</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(b_key)]).to_bytes(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(0, 153, 0) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">1</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">)</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my.replace(co_consts</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(224, 232, 255) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">None</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">,buf.decode(</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(92, 230, 56) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">&#34;utf-8&#34;</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">)))   </span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my_function.__code__</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">=</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">my_function()</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">break</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">except</span></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(185, 189, 182) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"><span leaf="">Exception as e:</span></code></p><p style="box-sizing: content-box !important;border-radius: 0px !important;background: none rgb(27, 36, 38) !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px 1em !important;text-align: left;vertical-align: baseline !important;width: auto !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace;font-weight: 400;font-style: normal;font-size: 12px;min-height: auto !important;color: rgb(0, 0, 0);font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(166, 44, 100);word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: normal !important;font-style: normal !important;min-height: auto !important;"></code><code style="box-sizing: content-box !important;font-family: Consolas, &#34;Bitstream Vera Sans Mono&#34;, &#34;Courier New&#34;, Courier, monospace !important;font-size: 12px !important;color: rgb(91, 161, 207) !important;word-break: break-word;border-radius: 0px !important;background: none !important;border: 0px !important;inset: auto !important;float: none !important;height: auto !important;line-height: 1.4em !important;margin: 0px !important;outline: 0px !important;overflow: hidden !important;padding: 0px !important;text-align: left !important;vertical-align: baseline !important;width: auto !important;font-weight: bold !important;font-style: normal !important;min-height: auto !important;"><span leaf="">continue</span></code></p><div style="font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;background-color: rgb(246, 246, 246);border-radius: 7px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: bottom;align-self: flex-end;flex: 0 0 auto;background-color: rgb(39, 47, 223);min-width: 5%;max-width: 100%;height: auto;padding: 3px 8px;border-top-left-radius: 7px;border-bottom-right-radius: 7px;overflow: hidden;margin: 0px;border-bottom-left-radius: 7px;box-sizing: border-box;"><div style="text-align: center;margin: 4px 0px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);font-size: 14px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">二、</span></b></p></div></div></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;padding: 0px 13px 0px 5px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">赛题解析</span></b></p></div></div></div></div></div></div></div><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: center;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;" data-pm-slice="2 2 []"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">该解题思路由论坛会员</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">【</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">yuzhouheike</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">】</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">提供</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.7448559670781894" data-s="300,640" data-type="png" data-w="486" style="width:272px;height:203px;" type="block" data-imgfileid="311134866" src="https://wechat2rss.xlab.app/img-proxy/?k=f75837cf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2dskpHibARA0baPppVFY1cynYlM9GqYKW9D2LRGbsjoFcmic6Ve5yIiboJEsmHibDPibSzhBSl6O4pWQw8xic5KmibAZnHPH8AItwZZ4%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;" data-pm-slice="0 0 []"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">样本信息</span></span></h2><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">题目.rar   <span class="code-snippet__number">7</span>,<span class="code-snippet__number">255</span>,<span class="code-snippet__number">261</span> <span class="code-snippet__built_in">bytes</span>  sha256 ce817ebd7499be0ba081bbe1572dced64ac1b6a9391fc2955237c189860fb531</span><span leaf=""><br/></span><span leaf="">题目.exe   <span class="code-snippet__number">7</span>,<span class="code-snippet__number">438</span>,<span class="code-snippet__number">179</span> <span class="code-snippet__built_in">bytes</span>  sha256 f6b192f9ee87c4ad2bc8681291ca428cf8e98fec26fa5d7b82c6e791a7a90ead</span></code></pre></p><p><code></code></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">PE32+ console x86-64</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">，编译时间 2026-03-06。7 MB 的体积里，真正的题眼只有几百字节，而且藏在一个几乎不会有人去看的地方。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">整题的结构可以概括成一句话：</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">把逻辑塞进被重新编译过的 CPython 解释器里，而不是塞进脚本。</span></span></strong></p><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">1. 表层：PyInstaller onefile</span></span></h2><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">rabin2 -S</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">显示节区只到</span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">0x54600</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">，后面 7 MB 全是 overlay。overlay 开头是 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">78 da</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">（zlib），文件末尾是 </span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">python313.dll</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> + 一串 0 —— 典型的 PyInstaller cookie 结构：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">struct</span> COOKIE {</span><span leaf=""><br/></span><span leaf="">    char  magic[<span class="code-snippet__number">8</span>];       <span class="code-snippet__comment">// MEI\014\013\012\013\016</span></span><span leaf=""><br/></span><span leaf="">uint32</span><span leaf=""> pkgLen;        <span class="code-snippet__comment">// 7092579</span></span><span leaf=""><br/></span><span leaf="">uint32</span><span leaf=""> toc;           <span class="code-snippet__comment">// 7091627</span></span><span leaf=""><br/></span><span leaf="">uint32</span><span leaf=""> tocLen;        <span class="code-snippet__comment">// 864</span></span><span leaf=""><br/></span><span leaf="">uint32</span><span leaf=""> pyvers;        <span class="code-snippet__comment">// 313</span></span><span leaf=""><br/></span><span leaf="">    char  pylibname[<span class="code-snippet__number">64</span>];  <span class="code-snippet__comment">// &#34;python313.dll&#34;</span></span><span leaf=""><br/></span><span leaf="">};</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">cookie 位于</span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">0x717f0b</span></span></code><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">，</span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">pkgStart = cookiePos + 88 - pkgLen = 0x54600</span></span></code><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">，</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">正好接在最后一个节区之后。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">TOC 只有 21 项：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">m  struct                 s  pyiboot01_bootstrap    </span><span leaf="">b</span><span leaf="">  _decimal</span><span leaf="">.pyd</span><span leaf="">b</span><span leaf="">  python313</span><span leaf="">.dll</span><span leaf=""><br/></span><span leaf="">m  pyimod01_archive       s  pyi_rth_inspect        </span><span leaf="">b</span><span leaf="">  _hashlib</span><span leaf="">.pyd</span><span leaf="">b</span><span leaf="">  select</span><span leaf="">.pyd</span><span leaf=""><br/></span><span leaf="">m  pyimod02_importers     s  </span><span leaf="">main</span><span leaf="">b</span><span leaf="">  _lzma</span><span leaf="">.pyd</span><span leaf="">b</span><span leaf="">  unicodedata</span><span leaf="">.pyd</span><span leaf=""><br/></span><span leaf="">m  pyimod03_ctypes        </span><span leaf="">b</span><span leaf="">  VCRUNTIME140</span><span leaf="">.dll</span><span leaf="">b</span><span leaf="">  _socket</span><span leaf="">.pyd</span><span leaf="">       o  pyi-contents-directory _internal</span><span leaf=""><br/></span><span leaf="">m  pyimod04_pywin32       </span><span leaf="">b</span><span leaf="">  _bz2</span><span leaf="">.pyd</span><span leaf="">b</span><span leaf="">  base_library</span><span leaf="">.zip</span><span leaf="">  z  PYZ</span><span leaf="">.pyz</span><span leaf=""><br/></span><span leaf="">b</span><span leaf="">  libcrypto-<span class="code-snippet__number">3</span></span><span leaf="">.dll</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">入口脚本</span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);font-weight: bold;">main</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">只有 159 字节</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">，</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">unmarshal 后 </span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">co_names = (&#39;sys&#39;,&#39;exit&#39;)</span></span></code><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">、</span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">co_consts = (0</span></span><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">, </span></span><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">None)</span></span></code><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">，</span></span><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">还原出来就是：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">import</span> sys</span><span leaf=""><br/></span><span leaf="">sys.<span class="code-snippet__built_in">exit</span>(<span class="code-snippet__number">0</span>)</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code></code></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">PYZ.pyz</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">里 112 个模块全是标准库，</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">base_library.zip</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 154 项也全是标准库。</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">Python 层什么都没干。</span></span></strong></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">到这里第一个岔路口出现了：很容易以为解错方向或者拿错文件。</span></span></p></div><div><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">2. 排除法：证明原生代码没被动过</span></span></h2><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">与其在 190 KB 的 bootloader 里大海捞针，不如直接和上游二进制对比。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">PyInstaller 的 Windows wheel 里带着预编译的</span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">run.exe</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">，从 PyPI 把 6.11 ~ 6.22 全撸下来逐个比</span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">.t</span></span><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">ext</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">pyi-6.18.0   .text</span><span leaf="">=<span class="code-snippet__number">186880</span>  match=<span class="code-snippet__number">35561</span>    exact=<span class="code-snippet__literal">False</span></span><span leaf=""><br/></span><span leaf="">pyi-6.19.0   .text</span><span leaf="">=<span class="code-snippet__number">186880</span>  match=<span class="code-snippet__number">35561</span>    exact=<span class="code-snippet__literal">False</span></span><span leaf=""><br/></span><span leaf="">pyi-6.20.0   .text</span><span leaf="">=<span class="code-snippet__number">186880</span>  match=<span class="code-snippet__number">186880</span>   exact=<span class="code-snippet__literal">True</span>     ← 逐字节相同</span><span leaf=""><br/></span><span leaf="">pyi-6.21.0   .text</span><span leaf="">=<span class="code-snippet__number">187392</span>  match=<span class="code-snippet__number">6873</span>     exact=<span class="code-snippet__literal">False</span></span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">命中</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">PyInstaller 6.20.0</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">再逐段 diff：</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.3037037037037037" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134872" src="https://wechat2rss.xlab.app/img-proxy/?k=4b3e8637&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3WCYzM3BPG9fzQdXVPccBQ3P6RmPFqnnO76mDSicPSYCpYBAtnQFtCXD7ZB0ibgLdOfKPMj8fW4BqxBRnYjZErc3EkQwbXoqm04%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">.rsrc</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">里只有 7 个图标 + 1 个 manifest，其中 256×256 的那张 PNG（37019 字节）与 wheel 里 </span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">PyInstaller/bootloader/images/icon-console.ico</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">内嵌的 PNG </span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">完全一致</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> —— PyInstaller 默认图标，没夹带。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">再验证归档本身有没有藏东西：把 21 个条目的 </span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);">[entryPos, entryPos+csz)</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">加上 TOC 区间排序求并集，</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">从</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;"> 0 到 </span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);font-weight: bold;">0x6c390b</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">无任何空洞</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">结论：</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">bootloader、资源、归档布局全部干净</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">。</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">剩下唯一可能被做手脚的，就是归档里那些二进制。</span></span></p><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">3. 定位：被换掉的</span></span><code style="white-space: normal;text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="text-align: left;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: normal;color: rgb(171, 25, 66);font-weight: bold;">python313.dll</span></span></code></h2></div><div><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code></code></h2><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">对归档内所有 PE 做体检（节区末尾 vs 文件大小）：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">_bz2.pyd          <span class="code-snippet__keyword">overlay</span></span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">14168</span>   ts</span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">2026-04-07</span></span><span leaf=""><br/></span><span leaf="">_decimal.pyd      <span class="code-snippet__keyword">overlay</span></span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">14168</span>   ts</span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">2026-04-07</span></span><span leaf=""><br/></span><span leaf="">_hashlib.pyd      <span class="code-snippet__keyword">overlay</span></span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">14168</span>   ts</span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">2026-04-07</span></span><span leaf=""><br/></span><span leaf="">_socket.pyd       <span class="code-snippet__keyword">overlay</span></span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">14168</span>   ts</span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">2026-04-07</span></span><span leaf=""><br/></span><span leaf="">select.pyd        <span class="code-snippet__keyword">overlay</span></span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">14168</span>   ts</span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">2026-04-07</span></span><span leaf=""><br/></span><span leaf="">unicodedata.pyd   <span class="code-snippet__keyword">overlay</span></span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">14168</span>   ts</span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">2026-04-07</span></span><span leaf=""><br/></span><span leaf="">libcrypto<span class="code-snippet__number">-3.</span>dll   <span class="code-snippet__keyword">overlay</span></span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">14192</span>   ts</span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">2026-02-13</span></span><span leaf=""><br/></span><span leaf="">python313.dll     <span class="code-snippet__keyword">overlay</span></span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">0</span>   ts</span><span leaf="">=</span><span leaf=""><span class="code-snippet__number">2026-05-19</span>    ← 唯一没有 Authenticode 签名的</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">那 14168 字节的 overlay 是 Authenticode 数字签名。</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">同一套 Python 发行版里所有 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);font-weight: bold;">.pyd</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;"> 都签了名，唯独主 DLL 没有</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">—— 这是最硬的一个信号。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">再和官方比大小：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__string">官方</span> <span class="code-snippet__string">python-3.13.1-embed-amd64</span> <span class="code-snippet__string">里的</span> </span><span leaf="">python313.dll :</span><span leaf=""><span class="code-snippet__number">6</span><span class="code-snippet__string">,093,816</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__string">题目里的</span> </span><span leaf="">python313.dll                            :</span><span leaf=""><span class="code-snippet__number">7</span><span class="code-snippet__string">,127,552</span>     <span class="code-snippet__string">(+1</span> <span class="code-snippet__string">MB)</span></span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">字符串 diff 直接把作者的构建环境暴露了：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">H:\样本分析\789456\Python-3.13.1\PCbuild\amd64\python313.pdb</span><span leaf=""><br/></span><span leaf="">H:\样本分析\789456\Python-3.13.1\Objects\codeobject.c</span><span leaf=""><br/></span><span leaf="">H:\样本分析\789456\Python-3.13.1\Python\import.c</span><span leaf=""><br/></span><span leaf="">...</span><span leaf=""><br/></span><span leaf="">[MSC v.1941 64 bit (AMD64)]</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">作者从源码自己编了一份 CPython 3.13.1（非 PGO，所以比官方大 1 MB），</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">题目逻辑在解释器里。</span></span></strong></p><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">4. 题眼：植入 frozen</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);font-weight: bold;">os</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">模块</span></span></h2><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">自编 CPython 的改动无法用字节 diff 定位（整个二进制布局都变了），得换思路 —— 从字符串里找不属于 CPython 的东西。过滤掉双方共有的字符串后，几个刺眼的残片浮出来：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">my_function</span><span leaf=""><br/></span><span leaf="">bmucryb6tcr</span><span leaf="">*</span><span leaf=""><span class="code-snippet__built_in">c</span></span><span leaf=""><br/></span><span leaf="">co_consts</span><span leaf="">)</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code></code></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">co_consts)</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 这种带右括号的形态，是 marshal 里 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">)</span><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">\x01\xda\tco_consts</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">（长度 1 的元组 + interned 短字符串）—— 说明这附近是</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">一段被 marshal 进 DLL 的 code object</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">Python 3.13 的 frozen 模块在</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">python313.dll</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 里就是一段段裸 marshal 数据，一个挨一个排布。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">顺序 unmarshal 可以把整张表走出来：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">0x4bc520  </span><span leaf="">&lt;</span><span leaf="">frozen</span><span leaf="">importlib._bootstrap</span><span leaf="">&gt;</span><span leaf="">   47420 → 56860</span><span leaf=""><br/></span><span leaf="">0x4ca340  </span><span leaf="">&lt;</span><span leaf="">frozen</span><span leaf="">importlib.machinery</span><span leaf="">&gt;</span><span leaf="">     1069</span><span leaf=""><br/></span><span leaf="">0x4ca770  </span><span leaf="">&lt;</span><span leaf="">frozen</span><span leaf="">posixpath</span><span leaf="">&gt;</span><span leaf="">              17899</span><span leaf=""><br/></span><span leaf="">0x4ced60  </span><span leaf="">&lt;</span><span leaf="">frozen</span><span leaf="">__phello__.ham</span><span leaf="">&gt;</span><span leaf="">           104</span><span leaf=""><br/></span><span leaf="">0x4cedd0  </span><span leaf="">&lt;</span><span leaf="">frozen</span><span leaf="">_sitebuiltins</span><span leaf="">&gt;</span><span leaf="">           4872</span><span leaf=""><br/></span><span leaf="">0x4d00e0  </span><span leaf="">&lt;</span><span leaf="">frozen</span><span leaf="">os</span><span leaf="">&gt;</span><span leaf="">                     47420      ← 就是它</span><span leaf=""><br/></span><span leaf="">0x4dba20  </span><span leaf="">&lt;</span><span leaf="">frozen</span><span leaf="">importlib.util</span><span leaf="">&gt;</span><span leaf="">         11840</span><span leaf=""><br/></span><span leaf="">0x4de860  </span><span leaf="">&lt;</span><span leaf="">frozen</span><span leaf="">__phello__</span><span leaf="">&gt;</span><span leaf="">               332</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">把 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">&lt;frozen os&gt;</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">反出来，函数列表最后多了一个 CPython 里根本不存在的 </span></span><strong><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">my_function</span></span></code></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">[..., <span class="code-snippet__string">&#39;add_dll_directory&#39;</span>, <span class="code-snippet__string">&#39;process_cpu_count&#39;</span>, <span class="code-snippet__string">&#39;my_function&#39;</span>]</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">选</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">os</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">下手很讲究：</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">解释器启动阶段必然 import </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">os</span></span></code></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">，所以模块级代码一定会跑，</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">main.py</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">干不干活完全无所谓。</span></span></p><h3 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">4.1 被注入的模块级代码</span></span></h3><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">反汇编</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">&lt;frozen os&gt;</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">模块级字节码的尾部（</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">dis</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">需要用真正的 CPython 3.13，否则 opcode 表对不上），还原出来是：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">x = <span class="code-snippet__number">0</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">while</span> x &lt; <span class="code-snippet__number">20</span>:                                   <span class="code-snippet__comment"># 最多 20 次机会</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">my_function</span>():</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__number">666</span>)</span><span leaf=""><br/></span><span leaf="">    x += <span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf="">    buffer = <span class="code-snippet__string">b&#39;&#39;</span>.join([&lt;<span class="code-snippet__number">8</span> 个 <span class="code-snippet__number">16</span> 字节的密文块&gt;])</span><span leaf=""><br/></span><span leaf="">    w = <span class="code-snippet__string">b&#39;&#39;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span> i <span class="code-snippet__keyword">in</span> buffer:</span><span leaf=""><br/></span><span leaf="">        w += (i ^ <span class="code-snippet__number">85</span>).to_bytes(<span class="code-snippet__number">1</span>)</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span>(w.decode(<span class="code-snippet__string">&#39;utf-8&#39;</span>))                    <span class="code-snippet__comment"># 打印提示</span></span><span leaf=""><br/></span><span leaf="">    key = <span class="code-snippet__built_in">input</span>()</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">if</span> <span class="code-snippet__built_in">len</span>(key) != <span class="code-snippet__number">6</span>:                           <span class="code-snippet__comment"># 长度必须是 6</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">continue</span></span><span leaf=""><br/></span><span leaf="">    b_key = key.encode()</span><span leaf=""><br/></span><span leaf="">    c = <span class="code-snippet__string">b&#39;\xecbmucryb6tcr*c\x03ucryb6tCr\x1eb&#39;</span>  <span class="code-snippet__comment"># 26 字节</span></span><span leaf=""><br/></span><span leaf="">    buf = <span class="code-snippet__string">b&#39;&#39;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span> i <span class="code-snippet__keyword">in</span> <span class="code-snippet__built_in">range</span>(<span class="code-snippet__built_in">len</span>(c)):</span><span leaf=""><br/></span><span leaf="">        buf += (c[i] ^ b_key[i % <span class="code-snippet__built_in">len</span>(b_key)]).to_bytes(<span class="code-snippet__number">1</span>)</span><span leaf=""><br/></span><span leaf="">    my = my_function.__code__</span><span leaf=""><br/></span><span leaf="">    my = my.replace(co_code=buf)                <span class="code-snippet__comment"># ← 用解密结果当新字节码</span></span><span leaf=""><br/></span><span leaf="">    succ = <span class="code-snippet__string">b&#39;\x9f\xe3\x9b\x91\xf5\xee\x9f\xea\xa6\x91\xe9\xed\x96\xde\xb7&#39;</span>  <span class="code-snippet__comment"># 15 字节</span></span><span leaf=""><br/></span><span leaf="">    buf = <span class="code-snippet__string">b&#39;&#39;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">for</span> i <span class="code-snippet__keyword">in</span> <span class="code-snippet__built_in">range</span>(<span class="code-snippet__built_in">len</span>(succ)):</span><span leaf=""><br/></span><span leaf="">        buf += (succ[i] ^ b_key[i % <span class="code-snippet__built_in">len</span>(b_key)]).to_bytes(<span class="code-snippet__number">1</span>)</span><span leaf=""><br/></span><span leaf="">    my = my.replace(co_consts=(<span class="code-snippet__literal">None</span>, buf.decode(<span class="code-snippet__string">&#39;utf-8&#39;</span>)))</span><span leaf=""><br/></span><span leaf="">    my_function.__code__ = my                   <span class="code-snippet__comment"># 把函数整个换掉</span></span><span leaf=""><br/></span><span leaf="">    my_function()</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">对应的模块常量：</span></span></p><p style="text-align: justify;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.6481012658227848" data-s="300,640" data-type="png" data-w="790" style="width: 439px;height: 285px;" type="block" data-imgfileid="311134873" src="https://wechat2rss.xlab.app/img-proxy/?k=913b1727&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K3VRyK9M7QLA2c5vnvOVbmer2kveXMUhIxA5vpRqF4XiarkQFQh3KjaQMvBeVdfODWGWJGYNpsIVGicyWXYP7Fq5eMM5MU59Z2Qs%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">先把提示解出来（</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">XOR 85</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">）：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">提示，需要还原的代码</span><span leaf=""><br/></span><span leaf="">def <span class="code-snippet__built_in">my_function</span>():</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">&#34;恭喜成功！&#34;</span>)</span><span leaf=""><br/></span><span leaf="">请输入key还原代码（请输入<span class="code-snippet__number">6</span>个字符）</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">题目把要求说得很清楚了：</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">找到 6 字符的 key，让 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);font-weight: bold;">my_function</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;"> 被还原成能打印「恭喜成功！」的样子。</span></span></strong></p><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">5. 已知明文攻击</span></span></h2><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">重复密钥异或本身不难，难点是&#34;正确的明文长什么样&#34;。这里作者留了一个致命的巧合：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">&gt;&gt;&gt;</span><span leaf=""><span class="code-snippet__built_in">len</span>(my_function.__code__.co_code)</span><span leaf=""><br/></span><span leaf="">26</span><span leaf=""><br/></span><span leaf="">&gt;&gt;&gt;</span><span leaf=""><span class="code-snippet__built_in">len</span>(c)</span><span leaf=""><br/></span><span leaf="">26</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">密文</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);font-weight: bold;">c</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">和 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);font-weight: bold;">my_function</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;"> 原始字节码等长。</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">而</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">co_consts</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 是被单独替换的（</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">(None, 解密出的字符串)</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">），也就是说</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">LOAD_CONST 1</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">这条指令本身不用变，只是它取到的常量从</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">666</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 变成了那句中文 —— 所以</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">还原目标就是原始字节码本身，一个字节都不用改</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">my_function</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">原始字节码：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__number">95</span> <span class="code-snippet__number">00</span>                                RESUME       <span class="code-snippet__number">0</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">5</span>b <span class="code-snippet__number">01</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span>        LOAD_GLOBAL  <span class="code-snippet__number">1</span> (print + NULL)</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">53</span> <span class="code-snippet__number">01</span>                                LOAD_CONST   <span class="code-snippet__number">1</span> (<span class="code-snippet__number">666</span>)</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">35</span> <span class="code-snippet__number">01</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span>              CALL         <span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">20</span> <span class="code-snippet__number">00</span>                                POP_TOP</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">67</span> <span class="code-snippet__number">00</span>                                RETURN_CONST <span class="code-snippet__number">0</span> (None)</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">直接异或：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">c            ec <span class="code-snippet__number">62</span> <span class="code-snippet__number">6</span>d <span class="code-snippet__number">75</span> <span class="code-snippet__number">63</span> <span class="code-snippet__number">72</span> <span class="code-snippet__number">79</span> <span class="code-snippet__number">62</span> <span class="code-snippet__number">36</span> <span class="code-snippet__number">74</span> <span class="code-snippet__number">63</span> <span class="code-snippet__number">72</span> <span class="code-snippet__number">2</span>a <span class="code-snippet__number">63</span> <span class="code-snippet__number">03</span> <span class="code-snippet__number">75</span> <span class="code-snippet__number">63</span> <span class="code-snippet__number">72</span> <span class="code-snippet__number">79</span> <span class="code-snippet__number">62</span> <span class="code-snippet__number">36</span> <span class="code-snippet__number">74</span> <span class="code-snippet__number">43</span> <span class="code-snippet__number">72</span> <span class="code-snippet__number">1</span>e <span class="code-snippet__number">62</span></span><span leaf=""><br/></span><span leaf="">co_code      <span class="code-snippet__number">95</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">5</span>b <span class="code-snippet__number">01</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">53</span> <span class="code-snippet__number">01</span> <span class="code-snippet__number">35</span> <span class="code-snippet__number">01</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">20</span> <span class="code-snippet__number">00</span> <span class="code-snippet__number">67</span> <span class="code-snippet__number">00</span></span><span leaf=""><br/></span><span leaf="">------------ XOR ----------------------------------------------------------------------</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">79</span> <span class="code-snippet__number">62</span> <span class="code-snippet__number">36</span> <span class="code-snippet__number">74</span> <span class="code-snippet__number">63</span> <span class="code-snippet__number">72</span> <span class="code-snippet__number">79</span> <span class="code-snippet__number">62</span> <span class="code-snippet__number">36</span> <span class="code-snippet__number">74</span> <span class="code-snippet__number">63</span> <span class="code-snippet__number">72</span> <span class="code-snippet__number">79</span> <span class="code-snippet__number">62</span> <span class="code-snippet__number">36</span> <span class="code-snippet__number">74</span> <span class="code-snippet__number">63</span> <span class="code-snippet__number">72</span> <span class="code-snippet__number">79</span> <span class="code-snippet__number">62</span> <span class="code-snippet__number">36</span> <span class="code-snippet__number">74</span> <span class="code-snippet__number">63</span> <span class="code-snippet__number">72</span> <span class="code-snippet__number">79</span> <span class="code-snippet__number">62</span></span><span leaf=""><br/></span><span leaf="">             y  </span><span leaf="">b</span><span leaf=""><span class="code-snippet__number">6</span>  t  c  r  y  </span><span leaf="">b</span><span leaf=""><span class="code-snippet__number">6</span>  t  c  r  y  </span><span leaf="">b</span><span leaf=""><span class="code-snippet__number">6</span>  t  c  r  y  </span><span leaf="">b</span><span leaf=""><span class="code-snippet__number">6</span>  t  c  r  y  </span><span leaf="">b</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">完美的 6 字节周期，</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">key = </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">yb6tcr</span></span></code></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">，</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">白送。</span></span></p><h3 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">双向验证</span></span></h3></div><div><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">用这个 key 解另一段密文 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">succ</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">succ ^ yb6tcr = <span class="code-snippet__string">&#39;恭喜成功！&#39;</span></span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">正好就是提示里承诺的那句输出。两条独立约束（字节码必须合法且等于原码、成功串必须是合法 UTF-8 且内容对得上）同时满足，密钥唯一。</span></span></p></div><div><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">6. 一键 solver</span></span></h2><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code></code></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">solve_q2.py</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">：从原始 exe 一路自动解到 key，</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">全程静态，不需要运行样本、不需要 Windows</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">。</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">python3.13 solve_q2.py 题目.exe</span></code></pre></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">[*] PyInstaller archive: python=<span class="code-snippet__number">313</span> <span class="code-snippet__keyword">lib</span>=python313.dll entries@<span class="code-snippet__number">0</span>x6c35ab</span><span leaf=""><br/></span><span leaf="">[*] python313.dll: <span class="code-snippet__number">7127552</span> bytes</span><span leaf=""><br/></span><span leaf="">[*] &lt;frozen os&gt; @ <span class="code-snippet__number">0</span>x4d00e0</span><span leaf=""><br/></span><span leaf="">=== 程序提示（<span class="code-snippet__number">8</span>×<span class="code-snippet__number">16</span> 字节 <span class="code-snippet__built_in">XOR</span> <span class="code-snippet__number">85</span>）===</span><span leaf=""><br/></span><span leaf="">提示，需要还原的代码</span><span leaf=""><br/></span><span leaf="">def my_function():</span><span leaf=""><br/></span><span leaf="">    print(<span class="code-snippet__string">&#34;恭喜成功！&#34;</span>)</span><span leaf=""><br/></span><span leaf="">请输入<span class="code-snippet__keyword">key</span>还原代码（请输入<span class="code-snippet__number">6</span>个字符）</span><span leaf=""><br/></span><span leaf="">=== 恢复的 <span class="code-snippet__keyword">key</span>（周期 <span class="code-snippet__number">6</span>）===</span><span leaf=""><br/></span><span leaf="">yb6tcr</span><span leaf=""><br/></span><span leaf="">=== 校验 ===</span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">new</span> co_code == 原始 co_code : <span class="code-snippet__literal">True</span></span><span leaf=""><br/></span><span leaf="">  succ ^ <span class="code-snippet__keyword">key</span>                  : <span class="code-snippet__comment">&#39;恭喜成功！&#39;</span></span><span leaf=""><br/></span><span leaf="">[+] 注册码 = yb6tcr</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">脚本做四件事：解 PyInstaller CArchive → 取出 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">python313.dll</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> → 用 marshal 里 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">\xda\x0b&lt;frozen os&gt;</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 这个 interned 字符串定位、回扫找 code object 头 → 取常量做已知明文异或并自动求周期。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">注意必须用</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">CPython 3.13</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">跑：3.14 的 marshal 虽然能把 code object 读出来（</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">co_names</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">/</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">co_consts</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 是对的），但 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">dis</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 的 opcode 表已经变了，反汇编结果全是错的。分析过程中如果用 3.14 看 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">main.pyc</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">，会看到</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">RETURN_GENERATOR</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">之类完全不着调的指令。</span></span></p><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">7. 答案</span></span></h2><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">yb6tcr</span></code></pre></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">提交返回：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf="">{ &#34;</span><span leaf="">code</span><span leaf="">&#34;: <span class="code-snippet__string">&#34;0&#34;</span>, <span class="code-snippet__string">&#34;message&#34;</span>: <span class="code-snippet__string">&#34;哟， 不错哦，答对了！！&#34;</span> }</span></code></pre></p><hr style="border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);"/></div><div><h2 style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">8. 小结</span></span></h2><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">这题的难度不在密码学（重复密钥异或 + 已知明文，两行代码的事），而在</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">信息藏得够深，且前面铺了一条完整的死路</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">：</span></span></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">PyInstaller 是幌子。</span></span></strong><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">入口脚本</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">import sys; sys.exit(0)</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">，</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">PYZ 和 base_library 全是标准库。老老实实用 pyinstxtractor + 反编译走到底，会得到&#34;这文件什么都没有&#34;的结论。</span></span></p></li><li><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">bootloader 也是幌子。</span></span></strong><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">与 PyInstaller 6.20.0 官方 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">run.exe</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 的 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">.text</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 逐字节相同。这一步反而是最有价值的——</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">用上游二进制做对照，能把 190 KB 的搜索空间一次性清零</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">，</span><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">比在 IDA 里瞎翻高效得多。</span></span></p></li><li><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">真正的载体是被重编的解释器。</span></span></strong><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">判定依据有三条，任意一条都够：主 DLL 缺 Authenticode 签名而同套 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">.pyd</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 都有签名、体积比官方大 1 MB、字符串里带着</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">H:\样本分析\789456\Python-3.13.1\</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">的构建路径。</span></span></p></li><li><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">落点是 frozen</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);font-weight: bold;">os</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">。</span></span></strong><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">选 </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">os</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);"> 是因为解释器启动必定 import 它，天然拿到执行权，完全绕开了脚本层。</span></span></p></li><li><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">自修改字节码。</span></span></strong><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">用</span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">code.replace(co_code=...)</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">+ </span></span><code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(171, 25, 66);">func.__code__ = ...</span></span></code><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">在运行期换掉函数体，动态调试时看到的和静态反编译看到的不是一个东西。</span></span></p></li></ul><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">而作者留下的破绽也很干净：</span></span><strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">替换后的字节码和原始字节码等长且完全相同</span></span></strong><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">（因为常量是单独换的）。这等于把明文直接放在了旁边，重复密钥异或在已知明文面前一击即溃。</span></span></p><p style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(63, 63, 63);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;text-align: left;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span leaf="" style="clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 1px;line-height: 1.75em;-webkit-tap-highlight-color: transparent;margin-top: 0px;margin-bottom: 0px;padding: 0px;outline: 0px;max-width: 100%;color: rgb(63, 63, 63);background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">题面里那句&#34;文件分段加密：古典密码、时间戳算法、硬件密钥&#34;和&#34;十六个碎片分散在十六个存储扇区&#34;纯属剧情包装 —— 实际只有一层重复密钥异或，和 8 个 16 字节的提示文本块。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134874" src="https://wechat2rss.xlab.app/img-proxy/?k=475d7ff9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K0RsNzESAOcITkF7KtybTR8PQO3NdjpY1BpEN9vFX6ddQNwECJQGXHhOzGZS7R6p1dzdq2TbADG5nn2bPaOGiaTrx2jqEpa02Bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134877" src="https://wechat2rss.xlab.app/img-proxy/?k=ea8f975f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K2fib50BiasW0YgtxLTKIicAGqdC7XkdjY6cWUfjQQsOibpC6ibdXnHqRyZx1oc6vd3hFIpSn33ibMaibR4qXcSnQYUdtvibxFTsqd9uE8%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134878" src="https://wechat2rss.xlab.app/img-proxy/?k=29b61b2d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K1F8b7icvBicQibrxOj9CMkeoX5onQtcmJlYDDwnmrNyzDNkUahycxP7FaGAv0WdSGaTibgUaLSXGiagq0ZcprkuxVcUtGiabvEfAUy0%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134876" src="https://wechat2rss.xlab.app/img-proxy/?k=43e65efa&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K2gdzoVIwWQ7njuzk5ZkepiaicfMV2LgtZkDbjicxicXJrm2bH8MY5lOiaoF6lPPBzz3B1DIqbbRnLCP7zecrVsSw12gfTXBg0QYCMQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://ctf.kanxue.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=f44fea39&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618567%26idx%3D1%26sn%3D24f4ab4a8e18ee6465d3734aa39a7883">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 12 Aug 2026 18:06:00 +0800</pubDate>
    </item>
    <item>
      <title>企业员工双向利好！9月普陀班火热招生：上海网络与信息安全管理员（三级）</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618567&amp;idx=2&amp;sn=bab2bf94397f399c9d7c8a40e34390f6</link>
      <description>企业补贴最高3550元/人，个人最高4700元</description>
      <content:encoded><![CDATA[<p><span>看雪学苑</span> <span>2026-08-12 18:06</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=63f941f2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2uC0opeh8YqM12XcewrAz17rMmjIBThlYC7nEthS6WxGziacXuOL0dCFD3Kibkic4u8DSqs6ib3rpw0enQ0xp7ZdSpcQS4g52ocfo%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>企业补贴最高3550元/人，个人最高4700元</p>
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">数字化时代，数据泄露、网络攻击、等保核查、项目招投标…… 每一项都卡在「专业安全人才资质」上。随着《网络安全法》《数据安全法》落地、等保合规、政企招投标门槛收紧，</span><span style="color: rgb(28, 144, 227);box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">网络与信息安全管理员</span></strong></span><span leaf="">已被列入</span><span style="color: rgb(28, 144, 227);box-sizing: border-box;"><span leaf="">上海市重点急需技能工种</span></span><span leaf="">，既是企业合规刚需，也是职场人落户、加薪、领补贴的黄金证书。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">摩珐汇职业技能培训（普陀人社局正规持证办学机构）</span><span style="color: rgb(28, 144, 227);box-sizing: border-box;"><span leaf="">9月6日全新周末班</span></span><span leaf="">开启报名！</span><span style="color: rgb(28, 144, 227);box-sizing: border-box;"><span leaf="">外区学员同样可申领普陀区全额补贴，个人最高4700元，企业最高3550元/人，人社备案全国通用，持证居住证直接+60 分，</span></span><span leaf="">企业招投标、等保评审必备资质，政企、IT 运维、信息化从业者必冲！</span></p></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.4046296" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134828" src="https://wechat2rss.xlab.app/img-proxy/?k=2a5b3dcf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2A8iajCYqDKg3nkNuUyVb1hrICs2SXHpLib6OIYXsowVdSuSM6IGMFTmFKZVXUt5ENbL8A8o55FsXEJXicyPz1M2ItyQGKaxefJA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;color: rgb(28, 144, 227);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">培训费：2600元/人</span></strong><em style="box-sizing: border-box;"><span leaf="">（不含考试费）</span></em></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;background-color: rgb(243, 243, 239);margin: 0px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;padding: 5px 20px;box-sizing: border-box;"><div style="text-align: center;color: rgb(0, 0, 0);letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">证书背景：国家战略加持，官方权威认证</span></strong></p></div></div></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2014 年网络安全上升国家战略，2020 年人社部、公安部联合出台《网络与信息安全管理员国家职业技能标准》，纳入国家职业技能鉴定体系。</span></p><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="display: inline-block;width: 29px;height: 29px;vertical-align: top;overflow: hidden;background-image: linear-gradient(90deg, rgb(28, 144, 227) 13%, rgb(41, 103, 255) 88%);border-radius: 172px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">1</span></strong></p></div></div></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 0px 0px 1px;border-color: rgb(28, 144, 227);padding: 0px 0px 0px 20px;margin: 0px 0px 0px -15px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">官方背书可溯源</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgb(28, 144, 228);height: auto;margin: 0px 0px 0px 13px;padding: 15px;box-sizing: border-box;"><div style="margin: 0px 0px 10px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">人社部备案、上海市人社局授权发证，由上海计算机研究所、市信息安全行业协会组织评价；全国通用，随申办 APP、osta 官网（jndj.osta.org.cn）双渠道永久可查。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="display: inline-block;width: 29px;height: 29px;vertical-align: top;overflow: hidden;background-image: linear-gradient(90deg, rgb(28, 144, 227) 13%, rgb(41, 103, 255) 88%);border-radius: 172px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">2</span></strong></p></div></div></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 0px 0px 1px;border-color: rgb(28, 144, 227);padding: 0px 0px 0px 20px;margin: 0px 0px 0px -15px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">上海紧缺工种，政策倾斜拉满</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgb(28, 144, 228);height: auto;margin: 0px 0px 0px 13px;padding: 15px;box-sizing: border-box;"><div style="margin: 0px 0px 10px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">列入上海市重点急需技能目录，区别于普通技能证书，补贴额度、居住证积分双重优待；三级高级工持证直接为上海居住证加 60 分，助力子女上学、积分落户、岗位晋升。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="display: inline-block;width: 29px;height: 29px;vertical-align: top;overflow: hidden;background-image: linear-gradient(90deg, rgb(28, 144, 227) 13%, rgb(41, 103, 255) 88%);border-radius: 172px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">3</span></strong></p></div></div></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 0px 0px 1px;border-color: rgb(28, 144, 227);padding: 0px 0px 0px 20px;margin: 0px 0px 0px -15px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">四大细分工种，覆盖全行业需求</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgb(28, 144, 228);height: auto;margin: 0px 0px 0px 13px;padding: 15px;box-sizing: border-box;"><div style="margin: 0px 0px 10px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">分为网络安全、信息安全、数据安全管理员、互联网信息审核员；上海主推网络 / 信息安全两大方向，适配政企运维、数据合规、信息化管理全岗位。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="display: inline-block;width: 29px;height: 29px;vertical-align: top;overflow: hidden;background-image: linear-gradient(90deg, rgb(28, 144, 227) 13%, rgb(41, 103, 255) 88%);border-radius: 172px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">4</span></strong></p></div></div></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 0px 0px 1px;border-color: rgb(28, 144, 227);padding: 0px 0px 0px 20px;margin: 0px 0px 0px -15px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">四级完整等级体系</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgb(28, 144, 228);height: auto;margin: 0px 0px 0px 13px;padding: 15px;box-sizing: border-box;"><div style="margin: 0px 0px 10px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">四级中级工→三级高级工（本次开班）→二级技师→一级高级技师，职业成长路径清晰，可评职称、转安全核心岗。</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;background-color: rgb(243, 243, 239);margin: 0px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;padding: 5px 20px;box-sizing: border-box;"><div style="text-align: center;color: rgb(0, 0, 0);letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">企业&amp;个人：真金白银补贴</span></strong></p></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 30px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="color: rgb(28, 144, 227);letter-spacing: 1px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">注册普陀企业：享政府专项扶持</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">最高3550元/人补贴</span></strong></p></div></div></div><div style="margin: 10px 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">补贴构成：获证补贴 1500 元 + 考核费 550 元 + 企业培养补贴 1500 元</span></p></div><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px -15px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(255, 255, 255);padding: 0px 25px 0px 0px;box-sizing: border-box;"><div style="text-align: center;color: rgb(0, 0, 0);letter-spacing: 1px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">企业刚需资质，解决招投标&amp;合规两大难题</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px 0px 10px;width: 100%;align-self: flex-start;background-color: rgba(255, 255, 255, 0);border-top: 1px solid rgb(0, 0, 0);border-right: 1px solid rgb(0, 0, 0);padding: 35px 20px 20px;border-bottom: 1px solid rgb(0, 0, 0);box-sizing: border-box;"><p style="text-align: justify;width: 100%;box-sizing: border-box;"><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">现在招投标、等保测评、数据安全合规审查，明确要求企业配备持证网络安全人员：</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">持证人员纳入企业安全人才梯队，投标材料加分，大幅提升中标概率；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">满足等保 2.0、数据安全法日常监管核查，规避罚款、停业整改风险；</span></p></li></ul></p></div><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;margin: 10px 0px -15px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(255, 255, 255);padding: 0px 10px 0px 0px;box-sizing: border-box;"><div style="text-align: center;color: rgb(0, 0, 0);letter-spacing: 1px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">员工留人激励神器，居住证直接+60积分</span></strong></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;width: 100%;align-self: flex-start;background-color: rgba(255, 255, 255, 0);border-top: 1px solid rgb(0, 0, 0);padding: 35px 20px 20px;border-left: 1px solid rgb(0, 0, 0);box-sizing: border-box;"><div style="text-align: justify;width: 100%;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">上海打拼的员工刚需福利！考取高级证，居住证直接加60分，快速拉近落户距离；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">同时是内部晋升、转岗安全管理岗硬性凭证，提升员工归属感，降低核心技术人员流失率。</span></p></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 30px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="color: rgb(28, 144, 227);letter-spacing: 1px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">个人端：摩珐汇报名最高4700元补贴</span></strong></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">（外区学员同样享受普陀区补）</span></strong></p></div></div></div><div style="margin: 10px 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">补贴可叠加申领：在职补贴2600元+工会补贴800元 + 普陀区专项区补1300元，随申办 APP 一键线上申领，政策透明、流程简单。</span></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="display: inline-block;width: 29px;height: 29px;vertical-align: top;overflow: hidden;background-image: linear-gradient(90deg, rgb(28, 144, 227) 13%, rgb(41, 103, 255) 88%);border-radius: 172px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">1</span></strong></p></div></div></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 0px 0px 1px;border-color: rgb(28, 144, 227);padding: 0px 0px 0px 20px;margin: 0px 0px 0px -15px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">现金补贴全覆盖</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgb(28, 144, 228);height: auto;margin: 0px 0px 0px 13px;padding: 15px;box-sizing: border-box;"><div style="margin: 0px 0px 10px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">考完拿证即可申领，补贴覆盖大部分培训考核成本，近乎免费学实战安全技术；</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="display: inline-block;width: 29px;height: 29px;vertical-align: top;overflow: hidden;background-image: linear-gradient(90deg, rgb(28, 144, 227) 13%, rgb(41, 103, 255) 88%);border-radius: 172px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">2</span></strong></p></div></div></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 0px 0px 1px;border-color: rgb(28, 144, 227);padding: 0px 0px 0px 20px;margin: 0px 0px 0px -15px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">居住证 + 60 分刚需</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgb(28, 144, 228);height: auto;margin: 0px 0px 0px 13px;padding: 15px;box-sizing: border-box;"><div style="margin: 0px 0px 10px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">高级工三级固定 60 积分，是无学历、低学历人群快速补齐落户积分的捷径；</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="display: inline-block;width: 29px;height: 29px;vertical-align: top;overflow: hidden;background-image: linear-gradient(90deg, rgb(28, 144, 227) 13%, rgb(41, 103, 255) 88%);border-radius: 172px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">3</span></strong></p></div></div></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 0px 0px 1px;border-color: rgb(28, 144, 227);padding: 0px 0px 0px 20px;margin: 0px 0px 0px -15px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">职场晋升硬筹码</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgb(28, 144, 228);height: auto;margin: 0px 0px 0px 13px;padding: 15px;box-sizing: border-box;"><div style="margin: 0px 0px 10px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">IT 运维、系统管理、信息化岗位升职、转岗安全岗、跳槽高薪岗位核心加分项；</span></p></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="display: inline-block;width: 29px;height: 29px;vertical-align: top;overflow: hidden;background-image: linear-gradient(90deg, rgb(28, 144, 227) 13%, rgb(41, 103, 255) 88%);border-radius: 172px;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">4</span></strong></p></div></div></div></div><div style="display: inline-block;vertical-align: bottom;width: auto;align-self: flex-end;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;border-style: solid;border-width: 0px 0px 1px;border-color: rgb(28, 144, 227);padding: 0px 0px 0px 20px;margin: 0px 0px 0px -15px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">行业刚需持证上岗</span></strong></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 100 100 0%;border-style: solid;border-width: 0px 0px 0px 1px;border-left-color: rgb(28, 144, 228);height: auto;margin: 0px 0px 0px 13px;padding: 15px;box-sizing: border-box;"><div style="margin: 0px 0px 10px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">政企、金融、医疗、园区、互联网企业安全岗招聘优先录用持证人员。</span></p></div></div></div></div><div style="font-size: 14px;color: rgb(249, 110, 87);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><span leaf="">*补贴金额以发证申请当期官方政策为准，企业补贴、员工个人补贴可分开叠加申领，互不冲突。</span></em></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;background-color: rgb(243, 243, 239);margin: 0px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;padding: 5px 20px;box-sizing: border-box;"><div style="text-align: center;color: rgb(0, 0, 0);letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">报考门槛宽松，大部分人直接满足</span></strong></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">满足以下</span><span style="color: rgb(28, 144, 227);box-sizing: border-box;"><span leaf="">任一条件</span></span><span leaf="">即可报名，无苛刻限制：</span></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">从事网络、IT、运维、信息相关工作累计满10年；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">专科及以上学历，123个相关专业全覆盖（计算机、电子信息、数学、经管、外语等），不限制工作年限。</span></p></li></ul></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">精准培训对象：</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">企业网络运维、系统管理员、信息化、机房运维在职员工；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">计算机、网络工程、信息安全相关专业应届生；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">想转岗网络安全、需要持证评职称、落户积分、申领技能补贴的职场人；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">企业行政、项目负责人，需要团队持证完成招投标、等保合规。</span></p></li></ul></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;background-color: rgb(243, 243, 239);margin: 0px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;padding: 5px 20px;box-sizing: border-box;"><div style="text-align: center;font-size: 17px;color: rgb(0, 0, 0);letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span style="font-size: 15px;box-sizing: border-box;"><span leaf="">正规办学：全链路实战，不耽误日常工作</span></span></strong></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">机构资质保障</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">摩珐汇职业技能培训（上海）有限公司：</span><span style="color: rgb(28, 144, 228);box-sizing: border-box;"><span leaf="">普陀区人社局审批、持有官方办学许可证</span></span><span leaf="">的正规网安专项培训机构。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">师资全部为一线实战安全工程师，打造</span><span style="color: rgb(28, 144, 227);box-sizing: border-box;"><span leaf="">「测评定位 — 理论实操双轨教学 — 认证就业保障」</span></span><span leaf="">全闭环培养体系，同步开设人社等级证、NISP、华为、深信服安全认证课程，配套就业推荐，不止拿证，更练硬技能。</span></p></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">9月开班详情｜周末班线下+线上同步</span></strong></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">开课时间：</span><span style="color: rgb(249, 110, 87);box-sizing: border-box;"><span leaf="">9月6日，</span></span><span leaf="">周末集中授课</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">上课地点：普陀区绿洲中环中心1号楼20层</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">课程安排：5次系统授课+1次考前全真模拟，全程实操为主</span></p></li></ul><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">培训内容贴合企业一线运维场景</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">防火墙与入侵防御配置、Windows/Linux 服务器系统加固、堡垒机运维审计、安全日志深度分析、网络安全监控、突发安全事件应急处置。）</span></p><div style="text-align: center;margin: 20px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.512963" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134832" src="https://wechat2rss.xlab.app/img-proxy/?k=6b45d3c1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1ej3YAaYo0C6JrY6wu8Iicaoic2afGjiaRVDr7skYcWf4lmcpN9RafSmUuj8icc5NjrTOekdpowxWvb1CPRjFXG6V7IDWNu52pNvI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;background-color: rgb(243, 243, 239);margin: 0px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;padding: 5px 20px;box-sizing: border-box;"><div style="text-align: center;color: rgb(0, 0, 0);letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">考核难度友好，2年周期从容拿证</span></strong></p></div></div></div><div style="text-align: center;margin: 20px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.15833333333333333" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134830" src="https://wechat2rss.xlab.app/img-proxy/?k=26353ad4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2PlOz0YibEEGiaZRIou4fuQhqpfKCoic4OsxpIu8VYO6HqeZaPtsp0B86VGsFymsWVVDib1OzKqX9NwX7sW7yUp7xnZf1hWnj3meg%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(28, 144, 227);box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">两大考核科目，60分及格通关</span></strong></span></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">理论机考：90分钟，满分100，60 分合格，鉴定费100元；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">实操考核：120分钟，6道实操大题，满分100，60分合格，鉴定费450元；</span></p></li></ul><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 14px;box-sizing: border-box;"><em style="box-sizing: border-box;"><span style="color: rgb(28, 144, 227);box-sizing: border-box;"><span leaf="">自报考当日起2年内通过两科即可拿证，补考无额外压力，取证节奏自主把控，上班族无备考焦虑。</span></span></em></span></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;background-color: rgb(243, 243, 239);margin: 0px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;padding: 5px 20px;box-sizing: border-box;"><div style="text-align: center;color: rgb(0, 0, 0);letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">企业集中报名优势</span></strong></p></div></div></div><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">普陀注册企业统一团报，享受区政府专项培训扶持政策；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">批量参训可协调企业专属定制班、上门宣讲；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">专人全程代办报考、补贴申领流程，企业人事省心省力；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">同步配套企业安全合规、等保落地配套咨询服务。</span></p></li></ul><div style="margin-top: 10px;margin-bottom: 10px;text-align: left;box-sizing: border-box;"><p style="display: inline-block;box-sizing: border-box;"><span style="display: block;padding: 0.3em 0.5em;border-radius: 0.8em 0.8em 0px 0px;background-color: rgb(28, 144, 227);color: rgb(255, 255, 255);text-align: justify;box-sizing: border-box;" title=""><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">9月6日普陀周末班少量名额开放</span></strong></p></span></p><div style="border: 1px solid rgb(28, 144, 227);border-radius: 0px 0px 0.8em 0.8em;padding: 10px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">政策红利窗口期有限，网络安全人才缺口持续扩大，一张证书同时解决</span><span style="color: rgb(249, 110, 87);box-sizing: border-box;"><span leaf="">企业招投标合规、员工现金补贴、上海落户积分、职场加薪晋升</span></span><span leaf="">四大需求。</span></p></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;background-color: rgb(243, 243, 239);margin: 0px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;padding: 5px 20px;box-sizing: border-box;"><div style="color: rgb(0, 0, 0);letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">报名咨询</span></strong></p></div></div></div><div style="text-align: center;margin: 20px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 35%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(28, 144, 227);box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311134831" data-ratio="1" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="png" data-w="396" src="https://wechat2rss.xlab.app/img-proxy/?k=e03134c8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1Cm07DxTdJwOVjUmtVFmUcYK9tLfsajIppaeicBV6ROQLW5VGmQwwTfdr92qQW8j5854F5fujiaZbUnHwR5GWkNTJEcZC7Fibs7k%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;color: rgb(28, 144, 227);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">扫码提供一对一咨询</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;background-color: rgb(243, 243, 239);margin: 0px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;padding: 5px 20px;box-sizing: border-box;"><div style="color: rgb(0, 0, 0);letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">9月6日开课，锁定名额</span></strong></p></div></div></div><div style="text-align: center;margin: 20px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 35%;height: auto;border-style: groove;border-width: 2px;border-color: rgb(28, 144, 227);box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="296" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134829" src="https://wechat2rss.xlab.app/img-proxy/?k=b2faa9ec&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3HAia94sH74t3mALrW3oHdiaQoGQmYKLQt5jVfXhibzkLr049PdQMzqCe2HDBUFZic1Juvq4UgLb411AUZdw9mH0aYlF9QKnjUibuM%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;color: rgb(28, 144, 227);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2600元（不含考试费）</span></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;padding: 0px 8px 0px 12px;min-width: 5%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">培训机构介绍</span></strong></p></div></div></div><div style="margin: 15px 0% 10px;text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;border-style: solid;border-width: 1px;border-color: rgb(28, 144, 227);align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="display: flex;flex-flow: row;text-align: right;justify-content: flex-end;margin: -4px 0% 0px;transform: translate3d(-15px, 0px, 0px);-webkit-transform: translate3d(-15px, 0px, 0px);-moz-transform: translate3d(-15px, 0px, 0px);-o-transform: translate3d(-15px, 0px, 0px);box-sizing: border-box;"><div style="display: inline-block;width: 45px;vertical-align: top;background-color: rgb(28, 144, 227);flex: 0 0 auto;height: auto;line-height: 0;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.1503267973856209" data-s="300,640" data-type="gif" data-w="306" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134833" src="https://wechat2rss.xlab.app/img-proxy/?k=26c04c9c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K2gd6VWIwElLmHbFCbviaWPCLOBic1GnFAUI3NicnUc2Ic2Ew8rrNVkzuIUySSyLSxSCy8ibP6aMjQl4qxkNic7UPgASBNHdjc0LVUU%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div></div><div style="text-align: justify;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;padding: 10px 20px;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(106, 106, 106);padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">摩珐汇职业技能培训（上海）有限公司是经上海市普陀区人力资源和社会保障局批准、持有官方办学许可证的正规职业技能培训机构，专注于网络与数据安全领域，以一线实战工程师组成的专业师资团队为核心，构建了 &#34;科学测评定位 — 理论实践双轨培训 — 认证就业全程保障&#34; 的 &#34;定・培・促&#34; 全链路人才培养闭环，面向院校学生、行业企业、在职员工及行业生态提供技能培训、多维度职业认证（含人社局等级证书、NISP、华为、深信服等）及就业推荐服务，致力于成为连接人才与企业的赋能桥梁，助力学员提升专业技能、实现职业成长，同时为行业精准输送合格的网络安全人才。</span></p></div></div></div></div></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134834" src="https://wechat2rss.xlab.app/img-proxy/?k=520403ac&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2Ncz9KMkGmHOq6yoOqJ3TtIWEKR8jzV8aq1ttolShVsgo7446o0goFpszWrKibvhH95VIDDVKwle97pZD2E1hictLnFBTrLDIQw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134837" src="https://wechat2rss.xlab.app/img-proxy/?k=2cd67ec9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K2K9FeH6qiaRfOdsgectNj8zUYZ6cibbmyLGFicdUby0JuLIfOc2z4u5srJVQ9ibgGWYGSR0sjVvozaoXTyAdPHZlzsDNxGNUbUWzc%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134835" src="https://wechat2rss.xlab.app/img-proxy/?k=fd5eca17&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K3mEn2fMGzRA02zduY5PaoeMlutUnSZsMIymsdytWpLh8ibE9ibacCBYLBjqJbqdibOzQtYTFykq9PQGh1OrgKj3Ado7btuRCptCg%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134836" src="https://wechat2rss.xlab.app/img-proxy/?k=c3d74ae1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K2C9vakEGRic3xhTJNAc0NS6C0I5mdmichdmplqfmolhQQLQdd5Djz9jS71dsZRrqSJVYZdJr7SPARktFrPWBSub1ibM0WibmgPD6w%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://www.kanxue.com/book-leaflet-133.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=b250c008&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618567%26idx%3D2%26sn%3Dbab2bf94397f399c9d7c8a40e34390f6">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 12 Aug 2026 18:06:00 +0800</pubDate>
    </item>
    <item>
      <title>Lazarus 组织利用 Windows AFD.sys零日漏洞投放 FudModule 内核 Rootkit</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618567&amp;idx=3&amp;sn=8dc784b6eb4841a0deb858b515724e91</link>
      <description></description>
      <content:encoded><![CDATA[<p><span>看雪学苑</span> <span>2026-08-12 18:06</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=d2cd4843&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K10gQC5z1yAejcmAxN04ngmgJAKp9IXaE9mtNouEruypx2rNLoIbZEy5eJIjsyABJRttOSFEhC79IXlmQKwj8DhIrQYJ04hSJk%2F0%3Fwx_fmt%3Djpeg"/></p>
  
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Check Point 研究团队披露，Lazarus 黑客组织正在实战利用一处Windows内核零日漏洞，投放升级版FudModule内核Rootkit，该攻击隶属于代号</span><strong style="box-sizing: border-box;"><span leaf="">Dream Job</span></strong><span leaf=""> 的间谍行动，主要针对国防、航空航天领域，攻击范围覆盖欧洲、印度、巴西等多地。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">该漏洞编号为</span><strong style="box-sizing: border-box;"><span leaf=""> CVE‑2026‑68820</span></strong><span leaf="">，存在于Windows内核的AFD.sys（辅助功能驱动），该驱动主要负责操作系统网络套接字相关能力。微软已于8月11日的8月补丁星期二正式推送修复补丁。</span></p></div><div style="color: rgb(249, 110, 87);box-sizing: border-box;"><p style="white-space: normal;margin: 8px 0px 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 14px;">受影响重点版本：Windows11 26100、26200版本，建议优先完成补丁更新。</span></span></em></p></div><div style="margin: 10px 0%;text-align: center;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(243, 243, 243);box-shadow: rgb(0, 0, 0) 0px 0px 0px;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="display: flex;flex-flow: row;margin: 0px 0% 5px;justify-content: center;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(255, 255, 255);flex: 100 100 0%;align-self: flex-start;height: auto;margin: 0px 5px;border-width: 1px;border-style: solid;border-color: rgba(223, 46, 0, 0.42);padding: 0px 10px;box-sizing: border-box;"><div style="isolation: isolate;margin: 0px 0%;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">攻击背景：伪装招聘的社会工程钓鱼</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Dream Job 是拉扎勒斯持续多年的间谍行动，本次攻击依旧沿用其经典社工套路：攻击者伪装成招聘人员，抛出高薪岗位诱饵，诱导目标单位员工打开恶意文件，以此完成攻击入口突破。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">本次攻击存在</span><strong style="box-sizing: border-box;"><span leaf="">两条并行的感染链路。</span></strong></p></div><div style="display: flex;flex-flow: row;text-align: left;justify-content: flex-start;margin: 20px 0px 10px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;transform: matrix(1, 0, -0.2, 1, 0, 0);-webkit-transform: matrix(1, 0, -0.2, 1, 0, 0);-moz-transform: matrix(1, 0, -0.2, 1, 0, 0);-o-transform: matrix(1, 0, -0.2, 1, 0, 0);border-style: none none none solid;border-width: 0px 0px 0px 5px;border-color: rgb(62, 62, 62) rgb(62, 62, 62) rgb(62, 62, 62) rgb(223, 46, 0);padding: 0px 0px 0px 2px;background-color: rgba(255, 255, 255, 0);box-shadow: rgb(0, 0, 0) 0px 0px 0px;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;border-left: 2px solid rgb(255, 181, 77);border-bottom-left-radius: 0px;padding: 0px 6px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">链路一：DLL侧加载执行</span></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">受害者收到加密ZIP压缩包，包内包含合法签名PDF阅读器程序、恶意`libmupdf.dll`，以及伪装成PDF后缀的加密载荷。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. 合法程序启动后，触发DLL侧加载，执行恶意DLL；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 恶意DLL读取并解密内存中的恶意载荷，同时在前台展示诱饵PDF文档（案例中为伪造的洛克希德·马丁招聘JD），欺骗受害者，掩盖恶意行为。</span></p></div><div style="display: flex;flex-flow: row;margin: 10px 0%;text-align: left;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;transform: matrix(1, 0, -0.2, 1, 0, 0);-webkit-transform: matrix(1, 0, -0.2, 1, 0, 0);-moz-transform: matrix(1, 0, -0.2, 1, 0, 0);-o-transform: matrix(1, 0, -0.2, 1, 0, 0);border-style: none none none solid;border-width: 0px 0px 0px 5px;border-color: rgb(62, 62, 62) rgb(62, 62, 62) rgb(62, 62, 62) rgb(223, 46, 0);padding: 0px 0px 0px 2px;background-color: rgba(255, 255, 255, 0);box-shadow: rgb(0, 0, 0) 0px 0px 0px;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;border-left: 2px solid rgb(255, 181, 77);border-bottom-left-radius: 0px;padding: 0px 6px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">链路二：篡改MuPDF框架的恶意PDF阅读器</span></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">攻击者基于开源MuPDF框架改造出名为SecurityPDF的木马化阅读器，伪装成隐私厂商Enveil的产品。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">攻击者还搭建经过SEO优化的仿冒网站，搜索关键词“Enveil SecurityPDF”即可检索到，实现恶意程序与恶意PDF分离下发，降低被安全设备检测的概率。</span></p></div><div style="margin: 10px 0%;text-align: center;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(243, 243, 243);box-shadow: rgb(0, 0, 0) 0px 0px 0px;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="display: flex;flex-flow: row;margin: 0px 0% 5px;justify-content: center;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(255, 255, 255);flex: 100 100 0%;align-self: flex-start;height: auto;margin: 0px 5px;border-width: 1px;border-style: solid;border-color: rgba(223, 46, 0, 0.42);padding: 0px 10px;box-sizing: border-box;"><div style="isolation: isolate;margin: 0px 0%;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">攻击链路完整流程</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">两条攻击链路最终都会落地执行内存下载器 MISTPEN，该工具最早由Mandiant在2024年公开。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. MISTPEN调用微软Graph API，从攻击者控制的OneDrive云端拉取后续攻击模块，全程采用AES加密通信；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 首先下发信息搜集、屏幕截图模块，完成受害主机环境摸底；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3. 确认目标价值后，加载权限提升模块，触发 CVE‑2026‑68820 AFD.sys零日漏洞；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4. 漏洞利用成功后获取SYSTEM系统最高权限，部署FudModule Rootkit。</span></p></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.6083333333333333" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134904" src="https://wechat2rss.xlab.app/img-proxy/?k=294886c2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0lpGHEslHU1gfNpILxbiaGcHu3HGiaNwCGoUNNaOxMicIaA0fOoXBvbvCl7P3vOx3VSwA5r48iabhWujCCQDGOg9GxZyK2FvkqUbc%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="margin: 10px 0%;text-align: center;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(243, 243, 243);box-shadow: rgb(0, 0, 0) 0px 0px 0px;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="display: flex;flex-flow: row;margin: 0px 0% 5px;justify-content: center;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(255, 255, 255);flex: 100 100 0%;align-self: flex-start;height: auto;margin: 0px 5px;border-width: 1px;border-style: solid;border-color: rgba(223, 46, 0, 0.42);padding: 0px 10px;box-sizing: border-box;"><div style="isolation: isolate;margin: 0px 0%;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">FudModule v3.1 Rootkit 新特性</span></strong></p></div></div></div></div></div></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">FudModule是拉扎勒斯标志性内核态Rootkit，最早2021年曝光，历史上也曾关联另一AFD.sys释放后重用漏洞CVE‑2024‑38193。</span><strong style="box-sizing: border-box;"><span leaf="">本次版本为 v3.1。</span></strong></p><div style="display: flex;flex-flow: row;margin: 10px 0%;text-align: left;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;transform: matrix(1, 0, -0.2, 1, 0, 0);-webkit-transform: matrix(1, 0, -0.2, 1, 0, 0);-moz-transform: matrix(1, 0, -0.2, 1, 0, 0);-o-transform: matrix(1, 0, -0.2, 1, 0, 0);border-style: none none none solid;border-width: 0px 0px 0px 5px;border-color: rgb(62, 62, 62) rgb(62, 62, 62) rgb(62, 62, 62) rgb(223, 46, 0);padding: 0px 0px 0px 2px;background-color: rgba(255, 255, 255, 0);box-shadow: rgb(0, 0, 0) 0px 0px 0px;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;border-left: 2px solid rgb(255, 181, 77);border-bottom-left-radius: 0px;padding: 0px 6px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">保留原有核心对抗能力</span></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 抹除遥测回调、禁用微过滤驱动；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 关闭NT内核日志记录器；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- 通过拦截列表屏蔽超过90项ETW事件提供器，干扰安全产品日志采集。</span></p></div><div style="display: flex;flex-flow: row;margin: 10px 0%;text-align: left;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;transform: matrix(1, 0, -0.2, 1, 0, 0);-webkit-transform: matrix(1, 0, -0.2, 1, 0, 0);-moz-transform: matrix(1, 0, -0.2, 1, 0, 0);-o-transform: matrix(1, 0, -0.2, 1, 0, 0);border-style: none none none solid;border-width: 0px 0px 0px 5px;border-color: rgb(62, 62, 62) rgb(62, 62, 62) rgb(62, 62, 62) rgb(223, 46, 0);padding: 0px 0px 0px 2px;background-color: rgba(255, 255, 255, 0);box-shadow: rgb(0, 0, 0) 0px 0px 0px;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;border-left: 2px solid rgb(255, 181, 77);border-bottom-left-radius: 0px;padding: 0px 6px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">版本关键更新</span></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. 移除专门针对微软Defender的杀伤逻辑，改用通用压制引擎对抗各类安全产品；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 新增篡改Smart App Control能力，重置其可信校验策略，绕过应用管控机制。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">权限提升完成后，Rootkit会将新的MISTPEN注入高权限系统进程，规避绝大多数EDR检测。后续可释放老牌后门ForestTiger，或是全新模块化植入体Troy。</span></p></div><div style="margin: 10px 0% 8px;text-align: left;justify-content: flex-start;display: flex;flex-flow: row;width: 100%;border-left: 3px solid rgb(219, 219, 219);border-bottom-left-radius: 0px;padding: 0px 0px 0px 8px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgba(0, 0, 0, 0.5);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Troy具备17项指令集，支持文件窃取、远程命令执行、内存DLL注入等能力。</span></p></div></div><div style="margin: 10px 0%;text-align: center;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(243, 243, 243);box-shadow: rgb(0, 0, 0) 0px 0px 0px;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="display: flex;flex-flow: row;margin: 0px 0% 5px;justify-content: center;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(255, 255, 255);flex: 100 100 0%;align-self: flex-start;height: auto;margin: 0px 5px;border-width: 1px;border-style: solid;border-color: rgba(223, 46, 0, 0.42);padding: 0px 10px;box-sizing: border-box;"><div style="isolation: isolate;margin: 0px 0%;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">C2通信：大量劫持第三方网站做中继</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">该组织不搭建专属C2服务器，大量劫持Roundcube网页邮件系统、WordPress、PrestaShop网站充当通信中继节点。</span></p><ul style="list-style-type: disc;box-sizing: border-box;padding-left: 20px;list-style-position: outside;" class="list-paddingleft-2"><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">大量沦陷的Roundcube利用漏洞CVE‑2025‑49113（PHP反序列化高危漏洞）入侵，同时也会使用暗网获取的泄露账号；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">自研PHP WebShell：RelayShell，不直接执行命令，采用文件消息中转模式，恶意流量伪装成普通Web访问，隐蔽性极强；</span></p></li><li style="box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Check Point至少发现17个独立被攻陷中继节点；攻击者还会使用ExpressVPN等VPN服务隐藏真实来源。</span></p></li></ul></div><div style="margin: 10px 0%;text-align: center;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(243, 243, 243);box-shadow: rgb(0, 0, 0) 0px 0px 0px;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="display: flex;flex-flow: row;margin: 0px 0% 5px;justify-content: center;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgb(255, 255, 255);flex: 100 100 0%;align-self: flex-start;height: auto;margin: 0px 5px;border-width: 1px;border-style: solid;border-color: rgba(223, 46, 0, 0.42);padding: 0px 10px;box-sizing: border-box;"><div style="isolation: isolate;margin: 0px 0%;box-sizing: border-box;"><div style="color: rgb(223, 46, 0);padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">安全防护建议</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. Windows11 26100/26200版本务必优先安装8月补丁星期二，修复CVE‑2026‑68820零日漏洞；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 国防、航空航天相关企业重点审计对外出站流量，警惕连接Roundcube、各类CMS网站的异常外联，甄别是否为恶意中继节点；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3. 针对招聘邮件、陌生岗位投递文档做好威胁检测，警惕伪装成招聘资料的压缩包、PDF文件，做好员工安全意识培训。</span></p></div><div style="font-size: 14px;color: rgb(160, 160, 160);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><span leaf="">资讯来源：Check Point Research、cybersecuritynews</span></em></p></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134903" src="https://wechat2rss.xlab.app/img-proxy/?k=481e33b7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1b87DVmosgbjwf7Ng2QiaVTfRg5Oeq80l94Deibcsib3bOS9qf6QAxBeXkIK6DtvI5fiaRQgnHiaiat94AeErFHC2oRDEZTHRn2X6fU%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134907" src="https://wechat2rss.xlab.app/img-proxy/?k=7015cc59&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K0Y9Pjp771JHLGYe8ibIUickHSKcJMF17N8uogiaiaRtkdS9PickPo8uzbLgTrT8bHxaXSOFRWDiaD75V7eo9dzpJhVgDypiaoBRBKLHg%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134906" src="https://wechat2rss.xlab.app/img-proxy/?k=16452584&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K1ZiaH70sBFFibdAO1xfIbfMZQL4ypxAicv8kNqBkIl64UuWP3FNoia6rIj7NVjN1OzZADFL6NeqlickVmSRibibWibyiciccdP2UIrVev9k%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134905" src="https://wechat2rss.xlab.app/img-proxy/?k=46c23b55&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K23Im1LFFic6icFvEnicsA4icG9GFpe0iasLTadS5OqiaricLC3wYTcr4eZ1vqh6zXL6l5w00wcu4DhjqxC30auOh3b4uJla8YfKmRgzw%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=8891173d&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618567%26idx%3D3%26sn%3D8dc784b6eb4841a0deb858b515724e91">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 12 Aug 2026 18:06:00 +0800</pubDate>
    </item>
    <item>
      <title>2026 KCTF 赛况：「您的名称过长」战队用时5小时10分9秒攻克第三题</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618567&amp;idx=4&amp;sn=ff49aef1d594df0285c976da128cf831</link>
      <description>难度升级</description>
      <content:encoded><![CDATA[<p><span>2026 KCTF</span> <span>2026-08-12 18:06</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=aeda2cf6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K364V1pUw8OgCAjBQibUOkNFzBteeMD3PINPHIw0WOQu664qLP44ia6zE9qHGuc7z2w8OXF2ryY5YeyKjMPWBjCgpK5f6ZZSldic4%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>难度升级</p>
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><span leaf="">2026年8月10日12:00，2026 KCTF攻防对抗赛正式开赛！</span></span></strong><span leaf="">本届赛事沿用多维度积分体系，</span><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><em style="box-sizing: border-box;"><span style=";"><span leaf="">难度、火力、精致度</span></span></em></span><span leaf="">三重积分同步核算，攻防双向计分机制兼顾趣味性与竞技性。</span></p></div><div style="text-align: center;margin: 10px 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;text-align: center;margin-top: 8px;margin-bottom: 8px;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40390625" data-s="300,640" data-type="jpeg" data-w="1280" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1rCfp9xeK5qUnxsI1yTiaoiaIe06baGXCPiaHictSUicFq2RhP86caGxrgL7pRpTUo5ZEDNG0lokRr8WibdRysCkBicICWuowTT7zac4/0?wx_fmt=jpeg&amp;from=appmsg" data-cropselx1="0" data-cropselx2="578" data-cropsely1="0" data-cropsely2="233" data-backw="578" data-backh="233" data-imgfileid="311134913" src="https://wechat2rss.xlab.app/img-proxy/?k=8f4dec10&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1rCfp9xeK5qUnxsI1yTiaoiaIe06baGXCPiaHictSUicFq2RhP86caGxrgL7pRpTUo5ZEDNG0lokRr8WibdRysCkBicICWuowTT7zac4%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p data-pm-slice="2 2 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span leaf="">第三道时辰关卡<span textstyle="" style="font-weight: bold;">《</span></span><span leaf=""><span textstyle="" style="font-weight: bold;">午时·永数囚笼</span></span><span leaf=""><span textstyle="" style="font-weight: bold;">》</span>于今日中午12:00准时解锁，</span><span leaf="">由<span textstyle="" style="font-weight: bold;">『</span></span><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="font-weight: bold;">天外星系</span></span><span leaf=""><span textstyle="" style="font-weight: bold;">』出题</span>。</span></p><span leaf="" style="font-size: 15px;letter-spacing: 1px;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);box-sizing: border-box;" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;data-pm-slice&#34;:&#34;2 2 [\&#34;para\&#34;,{\&#34;tagName\&#34;:\&#34;section\&#34;,\&#34;attributes\&#34;:{\&#34;style\&#34;:\&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);\&#34;},\&#34;namespaceURI\&#34;:\&#34;http://www.w3.org/1999/xhtml\&#34;},\&#34;para\&#34;,{\&#34;tagName\&#34;:\&#34;section\&#34;,\&#34;attributes\&#34;:{\&#34;style\&#34;:\&#34;box-sizing: border-box;\&#34;},\&#34;namespaceURI\&#34;:\&#34;http://www.w3.org/1999/xhtml\&#34;}]&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]">截至本文发布，只有<span textstyle="" style="color: rgb(0, 82, 255);">『您的名称过长』</span>战队成功提交flag，用时<span textstyle="" style="color: rgb(0, 82, 255);">5小时10分9秒</span></span></div><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.37254901960784315" data-s="300,640" data-type="png" data-w="816" style="width:353px;height:132px;" type="block" data-imgfileid="311134914" src="https://wechat2rss.xlab.app/img-proxy/?k=0508da31&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0uG9qepTib8rLvTMaPCibGxiaJAhEbdgTVCdYVQX0ZVFXZxXseYjmc65f8PD2JHeZKWZ1Th81uhE2aiccXTibBIM4VgDX9hiak6b9kA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: justify;"><span leaf="">看来此题有一定难度，很有挑战性，其它战队要加油啦！距离本题结束时间，还得明日见分晓～</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: justify;"><span leaf="">目前攻击方总排名如下：</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.6029850746268657" data-s="300,640" data-type="png" data-w="670" type="block" data-imgfileid="311134917" src="https://wechat2rss.xlab.app/img-proxy/?k=b3f47497&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K21aZmtVIknjKgqJ6I8o0fzdL6xiaM0mJRQ1pkspAXC5vNT1sicAxWHPMWQygyia2sbbNNdZRsEia2gjrpicPgtdiampydNJyUPXOGP0%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 14px;color: rgb(136, 136, 136);font-style: italic;">本文为2026 KCTF实时赛况报道，攻破数量、战队积分、榜单排名均为发稿瞬时数据，比赛进程中会动态更新，一切以官方平台实时数据为准。</span></span></p><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 31%;vertical-align: middle;align-self: center;flex: 0 0 auto;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px 0px -17px;transform: translate3d(22px, 0px, 0px);-webkit-transform: translate3d(22px, 0px, 0px);-moz-transform: translate3d(22px, 0px, 0px);-o-transform: translate3d(22px, 0px, 0px);box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(255, 255, 255);padding: 0px 5px;box-sizing: border-box;"><div style="text-align: center;line-height: 0;margin: 0px;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 26px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.2474226804123711" data-s="300,640" data-type="png" data-w="388" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134789" src="https://wechat2rss.xlab.app/img-proxy/?k=13f80ddf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K31PCic7xpI5v7sic0NqXAXHUQxSJZFRxNwJAZGB4gHbfcrgPXl3VQZly2zm2jGjtPiaUN4q5IYPicK29l44jBAGFd8KCiaAy9Ewfng%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 13px;overflow: hidden;padding: 20px;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;border-style: dotted;border-width: 2px;border-color: rgb(39, 47, 223);box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="328" style="vertical-align:middle;max-width:100%;width:133px;box-sizing:border-box;height:133px;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/Cpo2XCpI7K141Bo9rtl8VKZ0TI98VbaYF3YIKGPiaFeK32FJnyxy02OcLADxas5eou0fPgIKIrQn8ia3SLticqyMx2F2jrSTp5ibHOyf6H8dlt4/0?wx_fmt=png&amp;from=appmsg" data-cropselx1="0" data-cropselx2="133" data-cropsely1="0" data-cropsely2="133" data-imgfileid="311134918" src="https://wechat2rss.xlab.app/img-proxy/?k=99ec84a5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K141Bo9rtl8VKZ0TI98VbaYF3YIKGPiaFeK32FJnyxy02OcLADxas5eou0fPgIKIrQn8ia3SLticqyMx2F2jrSTp5ibHOyf6H8dlt4%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div><div style="margin: 0px;box-sizing: border-box;"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;box-sizing: border-box;"><div style="color: rgb(39, 47, 223);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">第三题《</span><span leaf="">午时·永数囚笼</span><span leaf="">》</span></strong></span></p></div></div></div></div></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134790" src="https://wechat2rss.xlab.app/img-proxy/?k=1e1ff964&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1DoJc2H5P5xU7mv25PtzWNvDLWcw9Q7n5Q0wVbvrNicYp8ATMcicdhiadmDPN2xjOgxKhlkEhdZGa2JOOQDZgo76Yyg3WgAzcOzQ%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134792" src="https://wechat2rss.xlab.app/img-proxy/?k=3a3624f6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K07Qf03bDiaQibUF0u7qjrR8HvSkWGxgeyz7CjxkMIPG1BuJy6YML9yKKYyicnJDKv474baEQvG0YHBvagEaxB0bynibvVoicLtiaZb0%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134794" src="https://wechat2rss.xlab.app/img-proxy/?k=8f89eeba&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K0IV3geAPWNFE7UvxNcoMY3GOicSco3ibibA2H65WhKSIfnNPHNraMWVicL852IEhkGWzco2BfaEr4pjvTas5U5vZ7uQJNicVKvnHb4%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134795" src="https://wechat2rss.xlab.app/img-proxy/?k=b29f37dd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K0evQhiaF3BzKhx9rM3mZU4OJReiaZgMJIfNbCJJw7D3IqUMibX5dqluMgicPGicjQjUHTxSIZjWowUr0vSQPdX0ah8jN7tXrK4ic77U%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://ctf.kanxue.com/game-season_fight-269.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=ff888ab8&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618567%26idx%3D4%26sn%3Dff49aef1d594df0285c976da128cf831">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 12 Aug 2026 18:06:00 +0800</pubDate>
    </item>
    <item>
      <title>从 r0capture 到 eCapture：Hermes Agent 自动抓包在真实任务里的价值</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618507&amp;idx=1&amp;sn=77bdb73ed02c2ca4234d6e63120c9282</link>
      <description>看雪论坛作者ID：xxxmm</description>
      <content:encoded><![CDATA[<p><span>xxxmm</span> <span>2026-08-11 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=6ec09577&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K3Su65picFNwSuQQJpNq9fotNhL59PDHkia9jW5Ovx30Eg9XENXhU7VNMn04TtYibWF5eYBhjNr3BNiaWQaNHLVh6CkXXXQqTG1l2w%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>看雪论坛作者ID：xxxmm</p>
  <div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><p><span leaf=""><span textstyle="" style="font-size: 15px;">本文记录一次使用 Hermes Agent 辅助完成某APP抓包、踩坑、复盘与业务接口分析的过程。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">重点不是单独介绍某一个抓包工具，而是复盘一条真实移动端 HTTPS 流量分析链路：先尝试 r0capture/Frida，发现对当前目标效果不好；再用 tcpdump 兜底确认网络侧事实；最后切换到 eCapture，通过 Android BoringSSL 明文 TLS hook 拿到更有价值的接口内容。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">本文保留接口路径用于技术复盘，但所有 Cookie、token、uid、设备标识、账号凭据、手机号、验证码、发帖 token 等敏感字段均做脱敏处理，统一以 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">[REDACTED]</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 或概括形式呈现。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">01</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">为什么用AI自动抓包</span></p></div></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">传统移动端抓包并不缺工具。Charles、Burp Suite、mitmproxy、Wireshark、tcpdump、Frida、r0capture、eCapture 都可以在不同层面解决问题。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">但真正做一次 App 流量分析时，最耗时间的往往不是“装一个工具”，而是下面这些连续判断：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">目标 App 是否走系统代理；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">HTTPS 是否有证书锁定或自定义网络栈；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">Java 层 Hook 是否能覆盖真实请求；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">native 层 TLS 明文能否被捕获；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">pcap 文件里哪些是核心业务，哪些只是广告、埋点或图片资源；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">抓到的接口内容能否和用户操作对应起来；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">最终材料能否被整理成可复盘、可复测、可脱敏的报告。</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">这些步骤单看都不难，但组合起来很容易变成“经验工程”。测试人员需要在命令行、手机、代理工具、PCAP 文件和业务文档之间反复切换。尤其是分析 PCAP 时，问题并不是 Wireshark 不强，而是 Wireshark 只告诉你包长什么样，不直接告诉你这些包在业务里意味着什么。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这正是 AI Agent 可以切入的地方。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">本文的核心观点是：</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">AI 自动抓包的价值不只是帮人敲命令，而是把抓包过程从工具操作升级为可追踪、可复盘、可迁移的业务分析链路。</span></span></strong></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这次目标是酷安 App，包名为：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">com.coolapk.market</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">测试动作包括：</span></span></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">登录入口与登录后同步；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">主页信息流加载；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">发帖提交。</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">从结果看，这次任务最有价值的地方不在于“某个工具一次成功”，而在于工具链路经历了多次切换：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">r0capture/Frida 尝试</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  -&gt; </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">输出为空或进程终止</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  -&gt; </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">tcpdump 兜底确认域名/SNI/连接</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  -&gt; </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">eCapture 初次遇到 CAP_BPF 权限问题</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  -&gt; </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">KernelSU debug su -g 方式运行 eCapture</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  -&gt; </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">text 模式拿到酷安 /v6/... 明文接口</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  -&gt; </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">pcapng 辅助验证网络侧事实</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  -&gt; </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">生成脱敏分析报告</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这条链路比单独展示一条命令更接近真实安全测试现场。</span></span></p></div><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.4032258064516129" data-s="300,640" data-type="png" data-w="992" type="block" data-imgfileid="311134549" src="https://wechat2rss.xlab.app/img-proxy/?k=fe8a577f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K3gaQK2LP6bXg5sxicgGgKmOHLQ7fgPWMByUSaOibEguYOkZS9kw7yVxhhDbF8kR2fqfDII5FXCKfSUajol7FkBsicJLJqbNkZq4Y%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">AI抓包路线图</span></span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="2.2" data-s="300,640" data-type="png" data-w="610" type="block" data-imgfileid="311134550" src="https://wechat2rss.xlab.app/img-proxy/?k=db819eb6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3GeEYbwNUIaFIUr63N8NqlgWH4FnWFiceKtLBD1PzfMjKN1VzIWk86NBPuh0QhmU0rXsxkhYhVeFPaaaib9oicMyicsnV9g1GgJEM%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align:center;box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">酷安 App 首页</span></span></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&#34;mp-quote&#34;, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 15px;">建议在这里放一张发帖页截图，正文使用测试内容即可。请不要展示真实账号、真实私密内容、定位、草稿箱、手机号或验证码。如果截图发布后页面，也要打码头像、昵称和用户 ID。</span></span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">02</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">业务场景：酷安 APP 抓包到底要看什么</span></p></div></div></div></div></div></div></div><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">本次任务目标可以拆成三层：</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.17685185185185184" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134551" src="https://wechat2rss.xlab.app/img-proxy/?k=edbe5214&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K12EB5Bb72riapMmtjUXPdsiadNAhzkOQibTk9BzAqprNaogIX0VVGiaWJx2cGjiaVQaO3POt14cHxuxhseniauWq7NryfFGZe7VRxuc%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">为了避免文章停留在“工具能跑”的层面，本次实验选择了一个最容易理解、也最适合作为入门案例的业务对象：酷安APP。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">酷安APP 看起来简单，但它具备典型移动应用的网络行为：</span></span></p><ul class="list-paddingleft-1"><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">启动时拉取首页推荐、账号状态、配置下发、通知未读数等基础数据；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">进入首页或下拉刷新时请求信息流列表、热门内容、频道页数据和广告资源；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">进入帖子详情页时请求帖子正文、评论列表、点赞/收藏/转发状态等数据；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">登录、发帖、评论、点赞等操作可能携带 Cookie、X-App-Token、X-App-Device、uid、feed_id、提交 token 等鉴权或行为字段；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">APP 内还会混入广告 SDK、风控 SDK、HTTPDNS、日志埋点、图片 CDN 等非核心业务流量。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">从业务分析角度看，我们真正关心的不是“抓到了多少包”，而是：</span></span></p><ul class="list-paddingleft-1"><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">哪些请求对应酷安核心业务，例如首页信息流、帖子详情、评论列表、通知列表、发帖接口；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">哪些请求只是广告、风控、HTTPDNS、日志上报或图片资源；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">Cookie、X-App-Token、X-App-Device、uid、feed_id、_v2_post_token 等敏感字段是否出现在请求中；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">请求参数和响应字段如何映射到 APP 页面展示，例如首页卡片、帖子内容、评论区、通知列表和个人动态；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">发帖、评论、点赞等写接口是否存在重放、参数篡改、越权调用或 token 泄露风险；</span></span></p></li><li><p><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">这些结论能否被整理成可脱敏、可复测、可沉淀的接口分析报告，而不是停留在几张抓包截图里。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.6em;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">这就是酷安这类社区型 APP 的流量分析痛点：数据包只是网络层事实，真正有价值的是把接口路径、Header、Body、用户操作和页面展示对应起来。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.6em;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">而大模型擅长的正是把半结构化请求、响应字段、上下文线索和人工测试目标组织成可读结论。因此，本实验把“分析抓包结果”放在和“成功抓到包”同等重要的位置。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">03</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">工具选型</span></p></div></div></div></div></div></div></div><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&#34;mp-quote&#34;, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 15px;">Hermes Agent、r0capture、tcpdump 与 eCapture 的分工。</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">本文涉及四个核心组件，但它们的角色不同。</span></span></p><h3 style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-weight: bold;line-height: 1.2;color: rgb(0, 0, 0);font-size: 1rem;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.1 Hermes Agent：自动化调度层</span></span></span></h3><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">Hermes Agent</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 在本文中不是被分析的唯一主角，而是自动化执行引擎。它负责：</span></span></p><ul style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">理解自然语言任务；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">拆解抓包步骤；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">调用命令行工具；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">根据错误输出调整执行路径；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">记录中间结论；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">在后续任务中复用已经沉淀的 Skill 和 Memory。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">换句话说，Hermes Agent 的位置更像一个懂安全测试流程的执行助理。它不替代 r0capture，也不替代 Wireshark，而是把这些工具组织成流程。</span></span></p><h3 style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-weight: bold;line-height: 1.2;color: rgb(0, 0, 0);font-size: 1rem;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.2 r0capture：Frida Hook 路线</span></span></span></h3><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">r0capture</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 是一款基于 Frida 的 Android 抓包工具，由r0ysue大佬在GitHub上开源，适合处理普通代理难以覆盖的加密流量场景。它通过 Hook Java 层、网络库和 SSL/TLS 相关接口，在数据进入加密层前或解密后捕获明文内容，直接通杀TCP/IP四层模型中的应用层中的全部协议,能够有效地捕获和分析移动应用的网络请求。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><strong style="box-sizing: border-box;font-weight: bolder;"><span leaf=""><span textstyle="" style="font-size: 15px;">r0capture的核心功能包括：</span></span></strong></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">通杀应用层全部协议的抓包: 充分利用Frida动态插桩技术，直接通杀TCP/IP四层模型中的应用层中的全部协议，在移动设备上捕获应用的明文请求和响应，包括Http、WebSocket、Ftp、Xmpp、Imap、Smtp、Protobuf等等、以及它们的SSL版本的请求和响应数据。通杀了所有应用层框架，包括HttpUrlConnection、Okhttp1/3/4、Retrofit/Volley等等。</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">具体Hook的接口包括但不限于</span></span></p><ul style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write</span></span></code></li><li style="box-sizing: border-box;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.read</span></span></code></li><li style="box-sizing: border-box;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLOutputStream.write</span></span></code></li><li style="box-sizing: border-box;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read</span></span></code></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;"><span leaf=""><span textstyle="" style="font-size: 15px;">dump客户端证书: 在Frida的Spawn模式下，可以在服务器校验客户端的情形下，通过hook java.security.KeyStore接口帮助dump客户端证书，并保存到本地，方便用户将证书导入到Charles等抓包工具中进行抓包。具体的接口包括但不限于java.security.KeyStore的PrivateKeyEntry内部类的getPrivateKey和getCertificateChain等接口；</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;"><span leaf=""><span textstyle="" style="font-size: 15px;">抓包结果可以以pcap文件的形式保存，用户可以使用Wireshark等工具进行分析；</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><strong style="box-sizing: border-box;font-weight: bolder;"><span leaf=""><span textstyle="" style="font-size: 15px;">r0capture的使用流程如下：</span></span></strong></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">在移动设备上安装frida-server，并确保设备与电脑连接正常；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">使用r0capture的命令行工具，指定要抓取的应用包名和输出的pcap文件名；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">r0capture捕获指定应用的网络请求和响应，并将其保存为pcap文件；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">使用Wireshark等工具分析生成的pcap文件，提取出其中的HTTP请求和响应，并分析其内容；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">通过r0capture提供的接口，dump客户端证书，帮助用户在服务器校验客户端的情形下进行抓包。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><strong style="box-sizing: border-box;font-weight: bolder;"><span leaf=""><span textstyle="" style="font-size: 15px;">r0capture的核心代码实现如下：</span></span></strong></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="kotlin"><code><span leaf=""><span class="code-snippet__comment">//在服务器校验客户端的情形下，帮助dump客户端证书，并保存为p12的格式，证书密码为r0ysue</span></span></code><br/><code><span leaf="">    Java.use(<span class="code-snippet__string">&#34;java.security.KeyStore</span><span class="code-snippet__string"><span class="code-snippet__variable">$PrivateKeyEntry</span></span><span class="code-snippet__string">&#34;</span>).getPrivateKey.implementation = function () {</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">var</span> result = <span class="code-snippet__keyword">this</span>.getPrivateKey()</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">var</span> packageName = Java.use(<span class="code-snippet__string">&#34;android.app.ActivityThread&#34;</span>).currentApplication().getApplicationContext().getPackageName();</span></code><br/><code><span leaf="">      storeP12(<span class="code-snippet__keyword">this</span>.getPrivateKey(), <span class="code-snippet__keyword">this</span>.getCertificate(), <span class="code-snippet__string">&#39;/sdcard/Download/&#39;</span> + packageName + uuid(<span class="code-snippet__number">10</span>, <span class="code-snippet__number">16</span>) + <span class="code-snippet__string">&#39;.p12&#39;</span>, <span class="code-snippet__string">&#39;r0ysue&#39;</span>);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">var</span> message = {};</span></code><br/><code><span leaf="">      message[<span class="code-snippet__string">&#34;function&#34;</span>] = <span class="code-snippet__string">&#34;dumpClinetCertificate=&gt;&#34;</span> + <span class="code-snippet__string">&#39;/sdcard/Download/&#39;</span> + packageName + uuid(<span class="code-snippet__number">10</span>, <span class="code-snippet__number">16</span>) + <span class="code-snippet__string">&#39;.p12&#39;</span> + <span class="code-snippet__string">&#39;   pwd: r0ysue&#39;</span>;</span></code><br/><code><span leaf="">      message[<span class="code-snippet__string">&#34;stack&#34;</span>] = Java.use(<span class="code-snippet__string">&#34;android.util.Log&#34;</span>).getStackTraceString(Java.use(<span class="code-snippet__string">&#34;java.lang.Throwable&#34;</span>).$new());</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">var</span> <span class="code-snippet__keyword">data</span> = Memory.alloc(<span class="code-snippet__number">1</span>);</span></code><br/><code><span leaf="">      send(message, Memory.readByteArray(<span class="code-snippet__keyword">data</span>, <span class="code-snippet__number">1</span>))</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">return</span> result;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    Java.use(<span class="code-snippet__string">&#34;java.security.KeyStore</span><span class="code-snippet__string"><span class="code-snippet__variable">$PrivateKeyEntry</span></span><span class="code-snippet__string">&#34;</span>).getCertificateChain.implementation = function () {</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">var</span> result = <span class="code-snippet__keyword">this</span>.getCertificateChain()</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">var</span> packageName = Java.use(<span class="code-snippet__string">&#34;android.app.ActivityThread&#34;</span>).currentApplication().getApplicationContext().getPackageName();</span></code><br/><code><span leaf="">      storeP12(<span class="code-snippet__keyword">this</span>.getPrivateKey(), <span class="code-snippet__keyword">this</span>.getCertificate(), <span class="code-snippet__string">&#39;/sdcard/Download/&#39;</span> + packageName + uuid(<span class="code-snippet__number">10</span>, <span class="code-snippet__number">16</span>) + <span class="code-snippet__string">&#39;.p12&#39;</span>, <span class="code-snippet__string">&#39;r0ysue&#39;</span>);</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">var</span> message = {};</span></code><br/><code><span leaf="">      message[<span class="code-snippet__string">&#34;function&#34;</span>] = <span class="code-snippet__string">&#34;dumpClinetCertificate=&gt;&#34;</span> + <span class="code-snippet__string">&#39;/sdcard/Download/&#39;</span> + packageName + uuid(<span class="code-snippet__number">10</span>, <span class="code-snippet__number">16</span>) + <span class="code-snippet__string">&#39;.p12&#39;</span> + <span class="code-snippet__string">&#39;   pwd: r0ysue&#39;</span>;</span></code><br/><code><span leaf="">      message[<span class="code-snippet__string">&#34;stack&#34;</span>] = Java.use(<span class="code-snippet__string">&#34;android.util.Log&#34;</span>).getStackTraceString(Java.use(<span class="code-snippet__string">&#34;java.lang.Throwable&#34;</span>).$new());</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">var</span> <span class="code-snippet__keyword">data</span> = Memory.alloc(<span class="code-snippet__number">1</span>);</span></code><br/><code><span leaf="">      send(message, Memory.readByteArray(<span class="code-snippet__keyword">data</span>, <span class="code-snippet__number">1</span>))</span></code><br/><code><span leaf="">      <span class="code-snippet__keyword">return</span> result;</span></code><br/><code><span leaf="">    }</span></code><br/><code><span leaf="">    <span class="code-snippet__comment">// 直接在Socket层hook住输入输出流的read和write接口，获取明文的请求和响应数据</span></span></code><br/><code><span leaf="">     <span class="code-snippet__keyword">if</span> (parseFloat(Java.androidVersion)  &gt; <span class="code-snippet__number">8</span>) {</span></code><br/><code><span leaf="">      Java.use(<span class="code-snippet__string">&#34;com.android.org.conscrypt.ConscryptFileDescriptorSocket</span><span class="code-snippet__string"><span class="code-snippet__variable">$SSLOutputStream</span></span><span class="code-snippet__string">&#34;</span>).write.overload(<span class="code-snippet__string">&#39;[B&#39;</span>, <span class="code-snippet__string">&#39;int&#39;</span>, <span class="code-snippet__string">&#39;int&#39;</span>).implementation = function (bytearry, int1, int2) {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">var</span> result = <span class="code-snippet__keyword">this</span>.write(bytearry, int1, int2);</span></code><br/><code><span leaf="">        SSLstackwrite = Java.use(<span class="code-snippet__string">&#34;android.util.Log&#34;</span>).getStackTraceString(Java.use(<span class="code-snippet__string">&#34;java.lang.Throwable&#34;</span>).$new()).toString();</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">return</span> result;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">      Java.use(<span class="code-snippet__string">&#34;com.android.org.conscrypt.ConscryptFileDescriptorSocket</span><span class="code-snippet__string"><span class="code-snippet__variable">$SSLInputStream</span></span><span class="code-snippet__string">&#34;</span>).read.overload(<span class="code-snippet__string">&#39;[B&#39;</span>, <span class="code-snippet__string">&#39;int&#39;</span>, <span class="code-snippet__string">&#39;int&#39;</span>).implementation = function (bytearry, int1, int2) {</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">var</span> result = <span class="code-snippet__keyword">this</span>.read(bytearry, int1, int2);</span></code><br/><code><span leaf="">        SSLstackread = Java.use(<span class="code-snippet__string">&#34;android.util.Log&#34;</span>).getStackTraceString(Java.use(<span class="code-snippet__string">&#34;java.lang.Throwable&#34;</span>).$new()).toString();</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">return</span> result;</span></code><br/><code><span leaf="">      }</span></code><br/><code><span leaf="">    }</span></code><br/><code></code><br/></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这类方案的优势是直接贴近 APP 运行时，不依赖系统代理是否生效。对于有证书校验、代理检测或复杂网络框架的 APP，它比传统中间人代理更容易拿到明文。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">但 Frida 路线也有天然限制：</span></span></p><ul style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">需要 frida-server 版本、设备架构、Python frida 库匹配；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">App 如果使用 Cronet、QUIC、自定义 native 网络栈，Java 层 Hook 可能覆盖不到；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">目标进程可能在 spawn/attach 后崩溃或主动退出；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">Hook 类加载时机不对时，可能出现类找不到、没有输出、pcap 空文件等情况。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">这次酷安目标上，r0capture/Frida 就遇到了这些问题。</span></span></p><h3 style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-weight: bold;line-height: 1.2;color: rgb(0, 0, 0);font-size: 1rem;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.3 tcpdump：网络侧事实兜底</span></span></span></h3><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">tcpdump</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 是 Linux/Unix 平台最常用的网络抓包工具，其核心原理是通过操作系统提供的数据链路层抓包机制，对经过网络接口的数据包进行实时捕获、过滤和解析。tcpdump 本身并不直接操作网卡硬件，而是依赖底层抓包库 libpcap（Windows 平台对应 WinPcap/Npcap）完成数据包的获取，因此其工作流程可以概括为“网卡接收数据 → 内核捕获 → BPF过滤 → libpcap读取 → tcpdump解析显示”。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">首先，当数据包经过网卡时，无论是接收（RX）还是发送（TX），都会进入 Linux 内核网络协议栈。在正常情况下，数据包会依次经过数据链路层、网络层、传输层，最终交给相应的应用程序。而当 tcpdump 启动后，libpcap 会向内核注册一个 PF_PACKET（Packet Socket） 或早期 BSD 系统中的 BPF（Berkeley Packet Filter）设备，使内核能够在协议栈处理数据之前，将经过指定网卡的数据复制一份交给抓包程序。由于抓包只是复制数据，不会影响原始数据包的正常传输，因此 tcpdump 本身属于一种被动监听工具。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">为了提高抓包效率，tcpdump 并不会把所有数据包都复制到用户态，而是利用 Berkeley Packet Filter（BPF） 机制完成内核级过滤。用户输入的过滤条件（如 tcp port 80、host 192.168.1.1 等）首先会被编译成 BPF 字节码，再加载到内核中执行。只有满足过滤规则的数据包才会被复制到用户空间，其余数据包直接在内核中丢弃。这种设计避免了大量无关数据在内核态和用户态之间频繁拷贝，大大降低了 CPU 和内存开销，也是 tcpdump 能够在高速网络环境下保持较高性能的重要原因。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">过滤后的数据包由 libpcap 从内核缓冲区读取到用户空间。libpcap 为 tcpdump 提供了统一的接口，负责网卡打开、缓冲区管理、数据包读取以及超时处理等底层工作。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">tcpdump 获取到原始数据包后，会按照网络协议格式逐层解析。例如，首先解析 以太网帧头（Ethernet Header），获取源 MAC 地址、目的 MAC 地址以及上层协议类型；随后解析 IP 头，得到源 IP、目的 IP、TTL、协议号等信息；如果是 TCP 或 UDP 数据包，则继续解析传输层头部，获取端口号、序列号、确认号等内容，并最终以文本形式输出给用户。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">此外，tcpdump 支持将捕获的数据保存为 pcap 格式文件。pcap 文件保存的是完整的二进制数据包，可被 Wireshark、tshark 等分析工具再次打开进行深入分析。因此，在实际安全测试、网络故障排查以及协议分析过程中，通常采用 tcpdump 负责服务器端抓包，Wireshark 负责离线分析 的方式，提高分析效率。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">需要注意的是，由于 tcpdump 工作在网络接口层，因此它能够捕获的数据是明文协议头和原始网络数据。对于 HTTPS、TLS 等加密通信，tcpdump 只能看到加密后的密文负载，而无法直接获取应用层明文内容。如果需要分析 HTTPS 的明文数据，则需要结合 TLS 密钥日志（SSLKEYLOGFILE）、MITM 代理或 eCapture 等基于 eBPF、uprobes 的工具对加密过程进行旁路解密。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">tcpdump不是明文 HTTPS 抓包工具。它的价值是记录网络层事实：</span></span></p><ul style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">目标 IP、端口、连接数量；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">TLS SNI；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">DNS/HTTPDNS；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">明文 HTTP 图片资源或 SDK 上报；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">流量大小、方向、时序。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">但它不能直接告诉我们 HTTPS 里的 path、Header、Body。也就是说，tcpdump 可以回答“连到了哪里、什么时候连、流量有多大”，但不能直接回答“提交了什么接口参数”。</span></span></p><h3 style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-weight: bold;line-height: 1.2;color: rgb(0, 0, 0);font-size: 1rem;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.4 eCapture：eBPF / TLS 明文捕获路线</span></span></span></h3><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">eCapture（Extensible Capture）是一款基于 eBPF（extended Berkeley Packet Filter） 技术实现的开源网络数据捕获工具。与传统抓包工具（如 Wireshark、tcpdump）依赖网卡数据包不同，eCapture 采用了一种全新的思路：不去分析已经加密后的网络数据，而是在应用程序完成 TLS 加密之前或解密之后直接获取明文数据。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">因此，它无需安装 CA 证书、无需配置代理，也无需对目标应用进行重打包，即可实现 HTTPS/TLS 明文流量的捕获，特别适用于服务器环境、Android Root 环境以及各类网络安全分析场景。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">从源码结构来看，eCapture 整体采用 Go + eBPF 的架构实现，源码主要包括 CLI（命令行）、Manager（管理模块）、Probe（探针模块）、eBPF Program（内核程序）以及 Event Processor（事件处理模块） 五部分。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">CLI 层负责解析用户输入的参数，例如 ecapture tls、ecapture bash 等命令；Manager 模块根据用户配置初始化对应的 Probe；Probe 模块负责加载不同类型的 eBPF 程序，并将其挂载到指定的用户态或内核态函数；eBPF Program 则运行于 Linux 内核中，负责真正的数据捕获；最后由 Event Processor 将内核采集到的数据解析并格式化输出为文本、PCAPNG 或 SSL Key Log 等形式。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">eCapture 最核心的技术是 Uprobe（User Probe）。Uprobe 是 Linux eBPF 提供的用户态动态探针机制，可以在用户空间 ELF 程序的指定函数入口或出口插入 Hook，而无需修改程序代码。eCapture 正是利用这一机制，对 OpenSSL、BoringSSL、GnuTLS、NSS、GoTLS 等主流 TLS 加密库中的关键函数进行动态挂载。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">例如，在 OpenSSL 中，Probe 模块会定位 SSL_write() 和 SSL_read() 等函数，通过 link.OpenExecutable().Uprobe() 将 eBPF 程序附加到这些函数上。当应用调用 SSL_write() 发送数据时，此时 HTTP 请求仍然是明文，尚未经过 TLS 加密；而在 SSL_read() 返回时，接收到的 TLS 数据已经完成了解密。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">因此，eBPF 程序只需读取这两个函数参数中的缓冲区地址，即可直接获得完整的 HTTP 请求和响应内容，而完全绕过传统 HTTPS 中间人代理（MITM）方式。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">从源码流程来看，整个 TLS 抓包过程如下所示：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="objectivec"><code><span leaf="">用户执行 ecapture tls</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">    Cobra <span class="code-snippet__built_in">CLI</span> 解析参数</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">    Manager 初始化 Probe</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">加载 OpenSSL/BoringSSL Probe</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">Attach Uprobe 到 SSL_write/SSL_read</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">目标程序调用 SSL_write()</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">eBPF 读取 buf 参数中的明文数据</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">Perf Event / RingBuffer</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">Go Event Processor</span></code><br/><code><span leaf="">          │</span></code><br/><code><span leaf="">          ▼</span></code><br/><code><span leaf="">HTTP 重组并输出文本或 PCAP</span></code><br/></pre></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">在 eBPF 程序内部，真正的数据读取主要依赖 bpf_probe_read_user() 等辅助函数。例如，在 SSL_write() 的 Uprobe 中，第二个参数通常为用户缓冲区 char *buf，第三个参数表示数据长度。eBPF 程序读取该缓冲区后，将 HTTP 明文、PID、时间戳等信息封装为事件结构体，再通过 bpf_perf_event_output() 或新版内核提供的 Ring Buffer 接口发送到用户空间。</span></span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">除了 Uprobe，eCapture 还使用了 Kprobe（Kernel Probe） 和 TC（Traffic Control） 等内核探针技术。Kprobe 主要用于 Hook Linux 内核函数，例如数据库查询函数、Shell 命令读取函数等，实现 MySQL、PostgreSQL、Bash 等应用的行为审计；TC 则通过在 Linux Traffic Control 子系统挂载 eBPF 程序，对网络流量进行过滤和统计，实现更底层的数据采集。因此，eCapture 实际形成了 &#34;用户态 Uprobe + 内核态 Kprobe/TC&#34; 的双探针架构，使其既能够获取 TLS 明文，又能够监控底层网络行为。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">由于 eBPF 程序运行在内核中，无法直接执行文件写入、网络发送等复杂操作，因此 eCapture 利用了 BPF Map 和 Perf Event（或 Ring Buffer） 实现内核态与用户态之间的数据通信。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">BPF Map 是内核中的高性能键值存储结构，用于保存当前捕获的数据；Perf Event 则是一种高效的事件通知机制，当 eBPF 程序捕获到新的 TLS 明文后，会调用 perf_event_output 将事件异步推送至用户空间。Go 编写的 Event Processor 持续监听 Perf Buffer，一旦收到事件，便根据 PID、线程 ID、SSL 对象地址等信息进行连接关联和 HTTP 数据重组，最终输出完整的 HTTP 请求、响应内容或导出为 PCAPNG 文件，供 Wireshark 等工具进一步分析。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">值得注意的是，eCapture 的工作原理与传统抓包工具存在本质区别。tcpdump、Wireshark 等工具工作于网络接口层，只能捕获已经完成 TLS 加密后的密文数据，因此需要依赖 CA 证书、中间人代理或 SSL Key Log 才能实现 HTTPS 解密。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">而 eCapture 的 Hook 点位于 TLS 库内部，在 SSL_write() 加密之前和 SSL_read() 解密之后获取数据，因此采集到的是应用程序真正处理的明文内容，并不涉及 TLS 算法破解，也不会影响正常通信过程。这种方式不仅避免了证书安装、代理配置等复杂操作，同时也降低了对目标程序的侵入性。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">在 Android 平台上，系统默认采用 BoringSSL 或 Conscrypt 作为 TLS 实现，因此 eCapture 通常针对这些动态库进行 Uprobe 挂载。本次实验中，eCapture 运行于具有 Root 权限的 Android Shell 环境，通过 Hook BoringSSL 相关加解密函数，成功捕获了酷安应用的 HTTPS 明文请求，并以 Text 模式实时输</span></span><span leaf="" style="box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">出 HTTP 内容。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">相比基于 Frida 的 r0capture，eCapture 更接近 Native TLS 层，不依赖 Java Hook，也无需向目标进程注入 JavaScript，因此稳定性更高，对部分 Frida 检测较严格的应用也具有更好的兼容性。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">04</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Hermes Agent 后台评审机制：为什么它适合长链路任务</span></p></div></div></div></div></div></div></div><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&#34;mp-quote&#34;, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">自动抓包不是一次命令能完成的短任务，而是一个长链路任务。它通常包含环境确认、依赖安装、设备连接、抓包执行、结果导出、数据分析和报告生成。任何一步失败，后续都需要调整。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">Hermes Agent 的后台评审机制正适合这种场景。它会在任务执行过程中检查 Memory 和 Skill 是否需要审查，并在后台触发能力更新。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">核心逻辑来自 </span></span><code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">run_agent.py</span></span></code><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="python"><code><span leaf="">_should_review_memory = <span class="code-snippet__literal">False</span></span></code><br/><code><span leaf=""><span class="code-snippet__keyword">if</span> (<span class="code-snippet__variable">self</span>._memory_nudge_interval &gt; <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">and</span> <span class="code-snippet__string">&#34;memory&#34;</span> <span class="code-snippet__keyword">in</span> <span class="code-snippet__variable">self</span>.valid_tool_names</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">and</span> <span class="code-snippet__variable">self</span>._memory_store):</span></code><br/><code><span leaf="">    <span class="code-snippet__variable">self</span>._turns_since_memory += <span class="code-snippet__number">1</span></span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">if</span> <span class="code-snippet__variable">self</span>._turns_since_memory &gt;= <span class="code-snippet__variable">self</span>._memory_nudge_interval:</span></code><br/><code><span leaf="">        _should_review_memory = <span class="code-snippet__literal">True</span></span></code><br/><code><span leaf="">        <span class="code-snippet__variable">self</span>._turns_since_memory = <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">_should_review_skills = <span class="code-snippet__literal">False</span></span></code><br/><code><span leaf=""><span class="code-snippet__keyword">if</span> (<span class="code-snippet__variable">self</span>._skill_nudge_interval &gt; <span class="code-snippet__number">0</span></span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">and</span> <span class="code-snippet__variable">self</span>._iters_since_skill &gt;= <span class="code-snippet__variable">self</span>._skill_nudge_interval</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">and</span> <span class="code-snippet__string">&#34;skill_manage&#34;</span> <span class="code-snippet__keyword">in</span> <span class="code-snippet__variable">self</span>.valid_tool_names):</span></code><br/><code><span leaf="">    _should_review_skills = <span class="code-snippet__literal">True</span></span></code><br/><code><span leaf="">    <span class="code-snippet__variable">self</span>._iters_since_skill = <span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__keyword">if</span> final_response <span class="code-snippet__keyword">and</span> <span class="code-snippet__keyword">not</span> interrupted <span class="code-snippet__keyword">and</span> (_should_review_memory <span class="code-snippet__keyword">or</span> _should_review_skills):</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">try</span>:</span></code><br/><code><span leaf="">        <span class="code-snippet__variable">self</span>._spawn_background_review(</span></code><br/><code><span leaf="">            messages_snapshot=<span class="code-snippet__built_in">list</span>(messages),</span></code><br/><code><span leaf="">            review_memory=_should_review_memory,</span></code><br/><code><span leaf="">            review_skills=_should_review_skills,</span></code><br/><code><span leaf="">        )</span></code><br/><code><span leaf="">    <span class="code-snippet__keyword">except</span> Exception:</span></code><br/><code><span leaf="">        <span class="code-snippet__keyword">pass</span></span></code><br/></pre></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">相关配置如下：</span></span></span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="apache"><code><span leaf=""><span class="code-snippet__attribute">memory</span>:</span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">memory_enabled</span>: true</span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">user_profile_enabled</span>: true</span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">memory_char_limit</span>: <span class="code-snippet__number">2200</span></span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">user_char_limit</span>: <span class="code-snippet__number">1375</span></span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">provider</span>: &#39;&#39;</span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">nudge_interval</span>: <span class="code-snippet__number">10</span></span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">flush_min_turns</span>: <span class="code-snippet__number">6</span></span></code><br/><code><span leaf=""><span class="code-snippet__attribute">skills</span>:</span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">external_dirs</span>:<span class="code-snippet__meta"> []</span></span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">template_vars</span>: true</span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">inline_shell</span>: false</span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">inline_shell_timeout</span>: <span class="code-snippet__number">10</span></span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">guard_agent_created</span>: false</span></code><br/><code><span leaf="">  <span class="code-snippet__attribute">creation_nudge_interval</span>: <span class="code-snippet__number">15</span></span></code><br/></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">对于自动抓包任务，这套机制的意义在于：</span></span></p><ul style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">第一次任务中遇到的 Frida 版本、设备架构、依赖安装问题可以被记录；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">抓包命令、输出路径、常用 tshark 过滤表达式可以沉淀成 Skill；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">后续换一个 APP 时，Agent 不必重新从零摸索；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">多轮交互后，Agent 对“用户真正想要的是业务分析，不只是抓包截图”的理解会更稳定。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">这也是本文标题强调“AI 自动抓包”的原因。Hermes 的价值不是单独展示某段后台评审代码，而是让抓包流程具备长期复用能力。</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.6620370370370371" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134552" src="https://wechat2rss.xlab.app/img-proxy/?k=82b58538&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0g7wA3vzZy6uBYdfA0c4RCz3TZyibFljLWUmFlhcwGjKFjJSO82Cj74oweDvjD8rE4XXlzicxQan3BV3bHlDLr5Aevt3BnTJDDA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: center;"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">Hermes Agent 后台评审机制图示</span></span></span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">05</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">实验环境与任务目标</span></p></div></div></div></div></div></div></div><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">本次实验环境如下：</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.39537037037037037" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134553" src="https://wechat2rss.xlab.app/img-proxy/?k=7b348939&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2A8NRDpK51wHVxFUnzVqkV5ibUKwRTMfNF6euL77AdLg24bNGNMoCzQ1ZBfAWvZGytzDvMbciaEqsVZZUnWicveUiatAxE9QGYum8%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">给 Hermes Agent 的原始任务如下：</span></span></span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="bash"><code><span leaf="">帮我将 r0capture（地址为<a href="https://github.com/r0ysue/r0capture）和eCapture" target="_blank">https://github.com/r0ysue/r0capture）和eCapture</a> 下载下来（地址为<a href="https://github.com/gojue/ecapture），抓取手机上的酷安APP的包，具体包名是" target="_blank">https://github.com/gojue/ecapture），抓取手机上的酷安APP的包，具体包名是</a> com.coolapk.market，抓取网络请求包（登录 、主页 和 发帖），分析里面的包的内容。</span></code></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这个任务不是单纯运行 r0capture、eCapture，而是要求 Agent 完成三件事：</span></span></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">自动搭建抓包环境；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">抓取目标 APP 的网络流量；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">分析 数据包文件中的业务内容。</span></span></p></li></ul><p><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&#34;mp-quote&#34;, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 15px;letter-spacing: 1px;color: rgb(0, 0, 0);">其中第三点最关键。只做到第二点，只能证明工具能用；做到第三点，才说明 AI Agent 对安全测试、逆向分析测试工作流产生了实际价值。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">06</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">第一阶段</span></p></div></div></div></div></div></div></div><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;,&#34;data-pm-slice&#34;:&#34;0 0 []&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;will-change: transform;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;margin: 10px 0%;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;margin: 0px;padding: 0px;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="font-size: 15px;">r0capture抓包，结果不理想。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">一开始的思路是沿用常见 Android 明文抓包流程：启动 frida-server，使用 r0capture attach/spawn 目标进程，对酷安的登录、主页、发帖阶段分别抓包。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">但结果并不好。两个 r0capture 相关 pcap 文件大小都是 24 bytes：</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">这类文件基本只能说明 pcap 文件头存在，不能说明抓到了有效业务流量。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">登录阶段日志也非常短：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="css"><code><span leaf="">attach</span></code><br/><code><span leaf="">Press Ctrl+C <span class="code-snippet__selector-tag">to</span> <span class="code-snippet__selector-tag">stop</span> logging.</span></code><br/><code><span leaf="">You have stoped logging.</span></code><br/></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这意味着 r0capture 没有输出可用于分析的明文 HTTPS 内容。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">继续尝试 Frida attach 时，日志显示 attach 超时：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="cs"><code><span leaf="">Failed to attach: unexpectedly timed <span class="code-snippet__keyword">out</span> <span class="code-snippet__keyword">while</span> waiting <span class="code-snippet__keyword">for</span> stop <span class="code-snippet__keyword">from</span> process <span class="code-snippet__keyword">with</span> PID [REDACTED]</span></code></pre></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">尝试 spawn 并 Hook HTTP/OkHttp 时，又遇到了类加载问题：</span></span></span></span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="swift"><code><span leaf=""><span class="code-snippet__type">OkHttp</span> hook failed: java.lang.<span class="code-snippet__type">ClassNotFoundException</span>: <span class="code-snippet__type">Didn</span>&#39;t find <span class="code-snippet__keyword">class</span> <span class="code-snippet__string">&#34;okio.Buffer&#34;</span></span></code><br/><code><span leaf="">java.net.<span class="code-snippet__type">URL</span> hooked</span></code><br/><code><span leaf=""><span class="code-snippet__type">WebView</span> hooked</span></code><br/><code><span leaf=""><span class="code-snippet__type">Process</span> terminated</span></code><br/></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">因此，这次实测表明r0capture 在当前酷安版本、当前设备和当前 Hook 点组合下效果不好。它不是完全不能用于所有酷安场景，但在这次实测中没有拿到登录、主页、发帖的核心 HTTPS API 明文。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">这也提醒我们，工具启动了，不代表抓到了有分析价值的包；pcap 文件存在，也不代表里面有业务内容。</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.6342592592592593" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134554" src="https://wechat2rss.xlab.app/img-proxy/?k=8175e8d0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2v7CDKP14IOweibfLCnUTTvG0sg9XE653KAcMSjRJ5sAvEyibf3HgiaRrtRdrrtPx6FictOcDsUNmjCKGLibXPty7f8S127plslSwE%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">07</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">第二阶段</span></p></div></div></div></div></div></div></div><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">tcpdump 兜底，只能回答网络侧问题。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">r0capture 输出不理想后，切换到 tcpdump 兜底。tcpdump 的价值是帮助确认 App 确实有网络活动，并保留登录、主页、发帖阶段的网络侧证据。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">这些 pcap 可以用 Wireshark/tshark 看连接、SNI、域名、图片资源和 SDK 上报，但不能直接还原酷安核心 HTTPS 请求正文。比如：</span></span></p><ul style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">可以看到 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">api.coolapk.com</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">api2.coolapk.com</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">account.coolapk.com</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 等域名相关连接；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">可以看到部分明文 HTTP 资源或第三方 SDK 上报；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">可以观察某个用户操作后是否出现上行 TLS Application Data；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">但看不到 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/feed/createFeed</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 的 form body，也看不到 Cookie、X-App-Token 等 HTTPS 内部 Header。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">所以 tcpdump能证明&#34;有流量&#34;，但不能完成&#34;接口语义分析&#34;。这也是后面继续切换到 eCapture 的原因。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(115, 115, 115);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">如果想展示“tcpdump 只能看到网络侧事实”的过程，可以打开早期 tcpdump 文件并截图，例如：</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(115, 115, 115);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 12.25px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">/root/coolapk_capture_20260525_192003/2_home_tcpdump.pcap</span></span></code></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(115, 115, 115);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">建议截图 Wireshark 的 Conversations、Endpoints 或 TLS SNI 过滤结果。注意不要展示任何可能关联个人设备或账号的明文内容。 --&gt;</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.4861111111111111" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134555" src="https://wechat2rss.xlab.app/img-proxy/?k=0773e809&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3NKJVgvCrK2KkHxREWJQBB9N5heI38MEHdjKCglrib0N5aux6ggY59iazY2sEKcP7H228trYHwmU5lwiaegn0nFhs0ANwmKwh8Ng%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">08</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">第三阶段</span></p></div></div></div></div></div></div></div><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">eCapture 初次踩坑，KernelSU root 不等于 CAP_BPF。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">改用 eCapture 后也不是一次成功。第一次遇到的核心问题是：设备虽然有 KernelSU root，但普通 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">su</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> shell 并没有 eCapture 加载 eBPF 程序所需的 capability。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">当时观察到 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">/proc/self/status</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 中 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">CapEff=0</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，eCapture 报错类似：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="sql"><code><span leaf="">the <span class="code-snippet__keyword">current</span> <span class="code-snippet__keyword">user</span> does <span class="code-snippet__keyword">not</span> have CAP_BPF <span class="code-snippet__keyword">to</span> load bpf programs</span></code></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这说明“uid=0”不等于“具备 CAP_BPF/CAP_SYS_ADMIN”。对 eBPF 类工具来说，root shell 是否拥有有效 capabilities 非常关键。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">后续使用 KernelSU 的 debug root shell，并通过全局 mount namespace 方式执行脚本：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="nginx"><code><span leaf=""><span class="code-snippet__attribute">adb</span> shell <span class="code-snippet__string">&#34;/system/bin/su -c &#39;/data/adb/ksud debug su -g &lt; /data/local/tmp/script.sh&#39;&#34;</span></span></code></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这个方式让 eCapture 能够在设备上正常加载并运行。到这里，工具链才真正进入可用状态。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">这个坑对后续复用价值很高：如果只看到 eCapture 报 CAP_BPF 错误，继续换参数通常没有意义，应该先检查 root shell 的 capability 和 mount namespace。</span></span></p><blockquote><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;"><span leaf=""><span textstyle="" style="font-size: 15px;">如果你本地还保留终端历史或运行日志，可以在这里插入一张 eCapture 报 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 12.25px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">CAP_BPF</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 权限问题，或后来通过 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 12.25px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">ksud debug su -g</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 成功运行的终端截图。截图时避免展示设备序列号、真实路径中的个人信息或任何 token。 --&gt;</span></span></p></blockquote><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.20555555555555555" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134556" src="https://wechat2rss.xlab.app/img-proxy/?k=2084524c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0D5hsuibPKrZFNdibicqp15GqTW12oIFAOoZYPZuxsBBWVku7WMVRbHwc9nCl9LGsIDpvfB1szP7iblLHeiccBIQ6zg0rt4oM94GIY%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h2 style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-weight: bold;line-height: 1.2;color: rgb(0, 0, 0);font-size: 1.2rem;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">9. 第四阶段：eCapture text 模式拿到酷安核心 API</span></span></span></h2><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">最终有效的方案是使用 eCapture 的 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">tls</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 模式，并以 text/stdout 日志作为核心分析材料。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">pcapng 同时保留，用于 Wireshark/tshark 侧的流量统计和网络侧验证。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">从 text/stdout 日志中可以看到酷安核心 API 路径，例如：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="bash"><code><span leaf="">POST api.coolapk.com /v6/service/sync2?exp=0&amp;t=[REDACTED]</span></code><br/><code><span leaf="">GET  api2.coolapk.com /v6/main/indexV8?page=1&amp;firstLaunch=0&amp;installTime=[REDACTED]&amp;ids=[REDACTED]</span></code><br/><code><span leaf="">GET  api.coolapk.com /v6/page/dataList?url=[REDACTED]&amp;title=[REDACTED]&amp;page=1</span></code><br/><code><span leaf="">GET  api.coolapk.com /v6/notification/list?page=1</span></code><br/><code><span leaf="">GET  api.coolapk.com /v6/account/loadConfig?key=my_page_card_config&amp;refresh=0</span></code><br/><code><span leaf="">POST api.coolapk.com /v6/feed/createFeed</span></code><br/><code><span leaf="">GET  api.coolapk.com /v6/user/feedList?uid=...&amp;page=1&amp;showAnonymous=0&amp;isIncludeTop=1</span></code><br/><code></code><br/></pre></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这一步是整次任务的分水岭：从“只能看到网络连接”进入到了“可以分析业务接口”的阶段。</span></span></span></span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.47685185185185186" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134557" src="https://wechat2rss.xlab.app/img-proxy/?k=d998ae70&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2fgL5DO3EQn2pL2CkeQ8NBOcRWdnFZ1FFxxVVkbKg1SForNpkrorJdlgVtNRFxicr5FsfDTfrQuoQYjagT264aUocAtvdibPghE%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">10</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">pcapng 与 text/stdout log</span></p></div></div></div></div></div></div></div><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">两类产物分别能说明什么</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">这次最终同时保留了 pcapng 和 text/stdout log。两者不是替代关系，而是互补关系。</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.43425925925925923" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134558" src="https://wechat2rss.xlab.app/img-proxy/?k=5a05c4c4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K31F63fkD31qTr7NoXl6tZb2p69XrcKefwKIAKTVAaBHYkbQkqFmf9OphmYqxYVgjqmCJm5dsbI0xibGx1n75b1OfNNLMzXCq1o%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">pcapng 的重要结论包括：</span></span></p><ul style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">ecap_home_pcap.pcapng</span></span></code><p><span leaf=""><span textstyle="" style="font-size: 15px;"> 约 16 MB，14255 frames，抓包约 54 秒；</span></span></p></li><li style="box-sizing: border-box;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">ecap_login_nav.pcapng</span></span></code><p><span leaf=""><span textstyle="" style="font-size: 15px;"> 约 8.3 MB，8478 frames，抓包约 69 秒；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">首页侧能看到 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">api2.coolapk.com</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> SNI、HTTPDNS、图片资源和广告 SDK；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">登录导航侧能看到 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">account.coolapk.com</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">static.coolapk.com</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、网易易盾、快手、百度等域名；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">pcapng 不是本次分析酷安核心 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/...</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> API body 的主证据。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">text/stdout log 的价值则更直接：它能把酷安的核心业务请求从 TLS 里还原出来，因此成为本次接口分析的主证据。</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.3638888888888889" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134559" src="https://wechat2rss.xlab.app/img-proxy/?k=9e7bae5c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0BQPR2VI3ZmFJSSDu7niakvuTNeFibKMekjgmQAqMib9ypwTSDJeetrbjT4oeCbSibia9ib11eMAosvzsR8ysFo522yecHPrBuRNicYM%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">11</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">关键接口与业务语义分析</span></p></div></div></div></div></div></div></div><h3 style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-weight: bold;line-height: 1.2;color: rgb(0, 0, 0);font-size: 1rem;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">11.1 登录入口与登录后同步</span></span></span></h3><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">登录入口阶段没有完整抓到“提交验证码/登录表单”的瞬间，但抓到了登录入口、风控、同步和登录后请求。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">代表接口：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="bash"><code><span leaf="">POST api.coolapk.com /v6/service/sync2?exp=0&amp;t=[REDACTED]</span></code><br/><code><span leaf="">GET  api.coolapk.com /v6/notification/list?page=1</span></code><br/><code><span leaf="">GET  api.coolapk.com /v6/account/loadConfig?key=my_page_card_config&amp;refresh=0</span></code><br/></pre></p><p><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/service/sync2</span></span></code><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><span leaf=""><span textstyle="" style="font-size: 15px;"> 的请求体中可以看到类似阅读进度/行为同步字段，例如：</span></span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="apache"><code><span leaf=""><span class="code-snippet__attribute">reportProgress</span>=[{<span class="code-snippet__string">&#34;feed_id&#34;</span>:<span class="code-snippet__string">&#34;[REDACTED]&#34;</span>,<span class="code-snippet__string">&#34;uid&#34;</span>:<span class="code-snippet__string">&#34;[REDACTED]&#34;</span>,<span class="code-snippet__string">&#34;feed_type&#34;</span>:<span class="code-snippet__string">&#34;12&#34;</span>,<span class="code-snippet__string">&#34;feed_uid&#34;</span>:<span class="code-snippet__string">&#34;[REDACTED]&#34;</span>,<span class="code-snippet__string">&#34;read_progress&#34;</span>:<span class="code-snippet__number">37</span>,<span class="code-snippet__string">&#34;article_time&#34;</span>:<span class="code-snippet__number">14</span>,<span class="code-snippet__string">&#34;all_time&#34;</span>:<span class="code-snippet__number">14</span>,<span class="code-snippet__string">&#34;dateline&#34;</span>:<span class="code-snippet__string">&#34;[REDACTED]&#34;</span>}]</span></code></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这类接口的业务含义不是登录本身，而是登录态下的客户端行为同步。它说明 App 会把用户阅读进度、内容 ID、时间等行为信息发送到服务端。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">登录后还会出现通知列表和账号配置请求：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="bash"><code><span leaf="">GET /v6/notification/list?page=1</span></code><br/><code><span leaf="">GET /v6/account/loadConfig?key=my_page_card_config&amp;refresh=0</span></code><br/></pre></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这些接口通常依赖 Cookie、X-App-Token、X-App-Device 等 Header。</span></span></span></span></span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.1145038167938932" data-s="300,640" data-type="png" data-w="786" type="block" data-imgfileid="311134560" src="https://wechat2rss.xlab.app/img-proxy/?k=aa926634&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K05f6NwkiagKiaGX8sgibgpoCUfEJOv1fZgpIxgI6lV9KahmCFIgZSmU021m6R4oMen8VnNNA8de46tQcjIxMp8rFY6yIJUmDP2BQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h3 style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-weight: bold;line-height: 1.2;color: rgb(0, 0, 0);font-size: 1rem;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">11.2 主页信息流</span></span></span></h3><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">主页信息流的核心接口是：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="apache"><code><span leaf=""><span class="code-snippet__attribute">GET</span> api2.coolapk.com /v6/main/indexV8?page=<span class="code-snippet__number">1</span>&amp;firstLaunch=<span class="code-snippet__number">0</span>&amp;installTime=[REDACTED]&amp;ids=</span></code><br/><code><span leaf=""><span class="code-snippet__attribute">GET</span> api2.coolapk.com /v6/main/indexV8?page=<span class="code-snippet__number">2</span>&amp;firstLaunch=<span class="code-snippet__number">0</span>&amp;installTime=[REDACTED]&amp;lastItem=[REDACTED]&amp;ids=</span></code><br/></pre></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">从参数看，</span></span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">indexV8</span></span></code><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><span leaf=""><span textstyle="" style="font-size: 15px;"> 至少包含以下语义：</span></span></span></span></span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.4092827004219409" data-s="300,640" data-type="png" data-w="948" type="block" data-imgfileid="311134561" src="https://wechat2rss.xlab.app/img-proxy/?k=2317a824&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3cawYjxBv7ZJYe43KzkhruNGp3icGZAOFtVm3hjAdWnCxLEtrciaicypt9doUAibcJffiaZfWAXsGIQTL6UmI4XbMYYCOxAeTHE9x0%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">另一个主页/频道相关接口是：</span></span></span></span></span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="apache"><code><span leaf=""><span class="code-snippet__attribute">GET</span> api.coolapk.com /v6/page/dataList?url=%<span class="code-snippet__number">2</span>Fpage%<span class="code-snippet__number">3</span>Furl%<span class="code-snippet__number">3</span>DV15_ZHUANTI_SHENGHUO&amp;title=%E7%<span class="code-snippet__number">94</span>%<span class="code-snippet__number">9</span>F%E6%B4%BB&amp;subTitle=&amp;page=<span class="code-snippet__number">1</span></span></code><br/><code><span leaf=""><span class="code-snippet__attribute">GET</span> api.coolapk.com /v6/page/dataList?url=%<span class="code-snippet__number">23</span>%<span class="code-snippet__number">2</span>Ffeed%<span class="code-snippet__number">2</span>FdigestList%<span class="code-snippet__number">3</span>ForTagKeywords%<span class="code-snippet__number">3</span>D%E7%<span class="code-snippet__number">94</span>%<span class="code-snippet__number">9</span>F%E6%B4%BB%E7%<span class="code-snippet__number">83</span>%AD%E8%AE%AE%<span class="code-snippet__number">26</span>orderBy%<span class="code-snippet__number">3</span>Dlastupdate%<span class="code-snippet__number">26</span>message_status%<span class="code-snippet__number">3</span>Dall%<span class="code-snippet__number">26</span>filterId%<span class="code-snippet__number">3</span>D82&amp;title=%E7%<span class="code-snippet__number">83</span>%AD%E8%AE%AE&amp;page=<span class="code-snippet__number">1</span></span></code><br/></pre></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/page/dataList</span></span></code><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><span leaf=""><span textstyle="" style="font-size: 15px;"> 的特点是 </span></span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">url</span></span></code><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><span leaf=""><span textstyle="" style="font-size: 15px;"> 参数内嵌页面路由或专题路由，</span></span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">title</span></span></code><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><span leaf=""><span textstyle="" style="font-size: 15px;"> 与 </span></span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">page</span></span></code><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><span leaf=""><span textstyle="" style="font-size: 15px;"> 控制具体栏目和分页。因此它更像是频道页、专题页或标签页的数据列表接口。</span></span></span></span></span></span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="2.3609271523178808" data-s="300,640" data-type="png" data-w="604" type="block" data-imgfileid="311134562" src="https://wechat2rss.xlab.app/img-proxy/?k=5d7cbdb4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2zXdFcSvH4dsVbsm7RwOkjINMGCJTibJSvPTAXEzbF1qP58p5Jjuh6LUIX9ic870xRjJUPzfCFXyiadgicMYsbsBNP26AvQxqHlSA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h3 style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-weight: bold;line-height: 1.2;color: rgb(0, 0, 0);font-size: 1rem;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">11.3 发帖提交</span></span></span></h3><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">发帖阶段最关键的接口是：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="bash"><code><span leaf="">POST api.coolapk.com /v6/feed/createFeed</span></code></pre></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.3972222222222222" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134563" src="https://wechat2rss.xlab.app/img-proxy/?k=2ec1a023&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0FH4nb9w2G11426ibul3dN1rryg33WsKeCyPahvDZGnIyqDpmDjJGeU6n89UF6S1dIwst84S2icThZY4sgQBPs9SEDehhCWbciaI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">脱敏后的请求体结构如下：</span></span></span></span></span></span></span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="ini"><code><span leaf=""><span class="code-snippet__attr">id</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">message</span>=[REDACTED]</span></code><br/><code><span leaf=""><span class="code-snippet__attr">type</span>=feed</span></code><br/><code><span leaf=""><span class="code-snippet__attr">pic</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">status</span>=<span class="code-snippet__number">1</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">publish_status</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">location</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">long_location</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">latitude</span>=<span class="code-snippet__number">0.0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">longitude</span>=<span class="code-snippet__number">0.0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">media_url</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">media_type</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">media_pic</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">message_title</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">message_brief</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">extra_title</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">extra_url</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">extra_key</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">extra_pic</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">extra_info</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">message_cover</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">disallow_repost</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">is_editInDyh</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">forwardid</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">fid</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">dyhId</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">targetType</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">productId</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">province</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">city_code</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">location_city</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">location_country</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">disallow_reply</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">vote_score</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">replyWithForward</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">media_info</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">insert_product_media</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">is_ks_doc</span>=<span class="code-snippet__number">0</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">goods_list_id</span>=</span></code><br/><code><span leaf=""><span class="code-snippet__attr">is_html_article</span>=<span class="code-snippet__number">2</span></span></code><br/><code><span leaf=""><span class="code-snippet__attr">_v2_post_token</span>=[REDACTED]</span></code><br/></pre></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这个接口的分析价值很高，因为它直接对应用户的“发布动态”动作。从字段上看，它不仅包含正文，还包含发布状态、媒体、位置、转发/评论控制、商品/文档扩展、提交 token 等信息。</span></span></p><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">安全上需要注意：</span></span></p><ul style="box-sizing: border-box;margin-top: 1rem;margin-bottom: 1rem;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;"><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">Cookie</span></span></code><p><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">X-App-Token</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">X-App-Device</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">_v2_post_token</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 任意泄露，都可能造成账号或发帖相关风险；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">请求体里有 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">latitude</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">longitude</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">location</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 等位置字段，本次是空值或 </span></span><code style="box-sizing: border-box;font-family: SFMono-Regular, Menlo, Monaco, Consolas, &#34;Liberation Mono&#34;, &#34;Courier New&#34;, monospace;font-size: 13.475px;color: rgb(166, 44, 100);word-break: break-word;"><span leaf=""><span textstyle="" style="font-size: 15px;">0.0</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，但如果用户开启位置，可能带来隐私风险；</span></span></p></li><li style="box-sizing: border-box;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">写接口不应该用于未授权复现或批量调用，分析时应避免误发真实内容。</span></span></p></li></ul><p style="box-sizing: border-box;margin: 0px 0px 1rem;line-height: 1.7;color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf=""><span textstyle="" style="font-size: 15px;">发帖后还观察到个人动态刷新：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="apache"><code><span leaf=""><span class="code-snippet__attribute">GET</span> api.coolapk.com /v6/user/feedList?uid=[REDACTED]&amp;page=<span class="code-snippet__number">1</span>&amp;showAnonymous=<span class="code-snippet__number">0</span>&amp;isIncludeTop=<span class="code-snippet__number">1</span></span></code></pre></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><span style="color: rgb(0, 0, 0);font-family: &#34;PingFang SC&#34;, 微软雅黑, &#34;Microsoft YaHei&#34;, Helvetica, &#34;Helvetica Neue&#34;, Tahoma, Arial, sans-serif;font-size: 15.4px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;" data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">这说明发布后 App 会回到用户 feed 列表或个人页进行刷新确认。</span></span></span></span></span></span></span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.9270833333333334" data-s="300,640" data-type="png" data-w="768" type="block" data-imgfileid="311134564" src="https://wechat2rss.xlab.app/img-proxy/?k=96fc7bd4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1T2ia5CGicDxyH3lUTsY5ribQgVXhBib8lEicLR5icPja3lFBNXkVjAJAdbCGo6KLfBGge3j8DT3Pbxf4wPTyUeNDLdG4xY4ACKvrick%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span data-pm-slice="0 0 []"><span leaf=""><span textstyle="" style="font-size: 15px;">建议在这里放一张发帖页截图，正文使用测试内容即可。请不要展示真实账号、真实私密内容、定位、草稿箱、手机号或验证码。如果截图发布后页面，也要打码头像、昵称和用户 ID。 </span></span></span></span></span></span></span></p><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">12</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">登录、验证码与敏感字段观察</span></p></div></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">手动登录“提交瞬间”没有被有效抓到，因此不能断言完整登录协议是什么样。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">但基于现有抓包，可以得出两个有限结论：</span></span></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">现有登录相关抓包文件中，没有发现明文短信验证码/登录验证码字段；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">登录后请求中能看到会话相关 Header/Token 会随业务请求发送。</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">已检查过的关键词包括：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">验证码、短信、sms、captcha、verify、verification、smsCode、verifyCode、code=、phone、mobile、quickpass、login、password</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">日志中出现的 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">code=</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 主要来自：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">SDK 的 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">version_code</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">发帖参数中的 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">city_code</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">；</span></span></p></li><li><code><span leaf=""><span textstyle="" style="font-size: 15px;">_v2_post_token</span></span></code><p><span leaf=""><span textstyle="" style="font-size: 15px;"> 等提交校验字段。</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">这些不是短信验证码。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">因此，准确结论应该写成：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">在现有抓包样本中没有看到明文验证码字段；但由于登录提交瞬间没有被可靠覆盖，这不能证明酷安登录接口一定不会上传验证码明文。如果重新在 eCapture 正常运行状态下抓完整短信登录流程，仍需要再次确认。</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">敏感字段方面，本次酷安业务请求普遍涉及：</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5029469548133595" data-s="300,640" data-type="png" data-w="1018" type="block" data-imgfileid="311134565" src="https://wechat2rss.xlab.app/img-proxy/?k=a5b44ad8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2Bax795EFfuibTUSZfHKibhdIAMh9DAgZsdjYdGnANIKM5iaInibVRG2IcuWkyzqNj2kwlS0opzzibw4ZibLh5adHB5xPIBQbvkZT4Y%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">13</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">第三方 SDK 与非核心业务流量</span></p></div></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">酷安主页和登录/发帖过程中混入了不少第三方 SDK 流量。按本次 eCapture的text log与 pcapng 观察，主要包括：</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40555555555555556" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134566" src="https://wechat2rss.xlab.app/img-proxy/?k=ee8423c2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K08FQtxG7lYeo8d208sRfObt51jMxL375ib7U4odYrlVsNibJbmIZe1bKaUXLic9IS7w29niajXYyKAYNw8lclDicQN37dbdIX8LDBw%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这些请求不一定都是酷安核心业务，但它们对隐私和合规分析很重要。移动 App 真实流量往往不是“一个 App 对一个服务端”，而是一组业务接口、广告 SDK、风控 SDK、HTTPDNS、图片 CDN、日志上报共同构成的网络生态。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">14</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">AI Agent 在这类任务里的实际价值</span></p></div></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">这次任务中，AI Agent 的价值不是简单替人敲命令，而是把多阶段过程串起来：</span></span></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">根据自然语言目标拆解任务；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">下载和部署工具；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">判断 r0capture 产物是否为空；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">识别 Frida attach/spawn、OkHttp hook 失败；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">切换到 tcpdump 保留网络侧证据；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">发现 eCapture 的 CAP_BPF/capability 问题；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">记住 KernelSU debug shell 的可用执行方式；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">把 text log、pcapng 形成分析报告；</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">这条链路体现了 Agent 更适合做“长链路安全测试辅助”，而不是只完成一次命令执行。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">如果把传统抓包看作“看见流量”，那么 AI Agent 参与后的目标应该是“理解流量并沉淀流程”。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">15</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">复盘：AI 自动抓包的价值不只是少敲命令</span></p></div></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">这次酷安抓包复盘可以总结为三点。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">第一，工具失败本身也是有效结论。r0capture/Frida 阶段虽然没有拿到可用明文，但它明确告诉我们：当前 Hook 方式对这个目标不可靠，继续围绕空 pcap 做分析没有意义。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">第二，pcapng 和 text log 要分工使用。pcapng 适合看网络连接、域名、SNI、HTTP 明文资源和第三方 SDK；text/stdout log 才是这次分析酷安 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/...</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> API path、Header、Body 的主证据。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">第三，eCapture 在 Android 上很好用，但前提是 root shell 真的具备加载 eBPF 所需的能力。KernelSU 普通 su shell 中 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">CapEff=0</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 时，eCapture 会失败；这次通过 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/data/adb/ksud debug su -g</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 解决，是一个值得记录的关键经验。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">最终，本次抓包确认了酷安 App 在登录后同步、主页信息流和发帖操作中的多条核心接口：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/service/sync2</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/main/indexV8</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/page/dataList</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/notification/list</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/account/loadConfig</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/feed/createFeed</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/user/feedList</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">其中 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/v6/feed/createFeed</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 是最典型的写接口，body 中包含正文、发布状态、媒体、位置、回复/转发控制和 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">_v2_post_token</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">本次实验还观察到一个有价值的现象：当 Hermes Agent 完成酷安 APP 抓包后，再处理另一个游戏中心 APP 时，可以复用此前沉淀的 Skill 和 Memory，将任务完成时间缩短到约原来的 1/3。这个结果说明 Agent 的价值不是单次执行，而是持续积累。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这就是 AI Agent 自动抓包在真实任务里的价值：不是保证某个工具一次成功，而是在工具失效、权限受限、数据混杂时，仍然能把链路跑通，把失败原因、有效证据和业务结论整理出来。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">所以，AI 自动抓包的最终价值不是“少敲几行命令”，而是：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">让逆向工程师从重复环境问题中解放出来；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">让流量分析从截图展示走向业务解释；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">让一次经验沉淀为可复用流程；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">让安全测试报告更快从数据包抵达结论。</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">如果说传统抓包解决的是“看见流量”，那么 AI Agent 自动抓包要解决的是“理解流量”。这才是它值得继续深入的地方。</span></span></p></div><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []"><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;min-width: 10%;max-width: 100%;vertical-align: top;border-width: 0px;border-radius: 5px;border-style: none;border-color: rgb(62, 62, 62);overflow: hidden;background-color: rgb(44, 74, 242);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: middle;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;padding: 0px 5px 0px 0px;align-self: center;flex: 0 0 auto;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;width: 100%;background-image: linear-gradient(0deg, rgba(34, 56, 108, 0.22) 0%, rgba(42, 71, 142, 0.17) 21%, rgba(53, 88, 176, 0.11) 46%, rgba(57, 99, 198, 0.07) 66%, rgba(57, 105, 239, 0) 100%);padding: 5px 10px;border-bottom: 0px rgb(62, 62, 62);border-bottom-right-radius: 100px;overflow: hidden;border-right: 0px rgb(62, 62, 62);border-top-right-radius: 100px;align-self: flex-start;box-sizing: border-box;"><div style="font-size: 17px;line-height: 1;letter-spacing: 0px;color: rgba(255, 255, 255, 0.85);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">16</span></strong></em></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;background-color: rgba(255, 255, 255, 0);padding: 0px 10px;align-self: center;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;padding: 0px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">参考资料</span></p></div></div></div></div></div></div></div><ul class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">Hermes Agent 中文文档</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;"><a href="https://hermesagent.org.cn/docs" target="_blank">https://hermesagent.org.cn/docs</a></span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">Frida 官方文档</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;"><a href="https://frida.re/docs/" target="_blank">https://frida.re/docs/</a></span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">r0capture GitHub 仓库</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;">http</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;">s:</span></span><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;">//github.com/r0ysue/r0capture</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">用实测说话！Hermes Agent真的比OpenClaw更好吗？实战/原理/如何安装详解</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;"><a href="https://www.bilibili.com/video/BV1zRdaBcE9x/?share_source=copy_web&amp;amp;vd_source=a06553ded9844b5ef06db446deeb5e88" target="_blank">https://www.bilibili.com/video/BV1zRdaBcE9x/?share_source=copy_web&amp;amp;vd_source=a06553ded9844b5ef06db446deeb5e88</a></span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">我们发现了 Hermes Agent 的第一个远程代码执行漏洞，但这已经不重要了</span></span></p></li></ul><ul class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">eCapture GitHub 仓库</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;"><a href="https://github.com/gojue/ecapture" target="_blank">https://github.com/gojue/ecapture</a></span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">eCapture旁观者：Android HTTPS明文抓包</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;"><a href="https://www.bilibili.com/video/BV1xP4y1Z7HB/?share_source=copy_web&amp;amp;vd_source=a06553ded9844b5ef06db446deeb5e88" target="_blank">https://www.bilibili.com/video/BV1xP4y1Z7HB/?share_source=copy_web&amp;amp;vd_source=a06553ded9844b5ef06db446deeb5e88</a></span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">Loop Engineering 入门:从 Prompt 到 Loop 的范式跃迁</span></span></p></li></ul><ul class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">Loop Engineering </span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;letter-spacing: normal;color: rgb(61, 170, 214);font-style: italic;"><a href="https://addyosmani.com/blog/loop-engineering/" target="_blank">https://addyosmani.com/blog/loop-engineering/</a></span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">个人介绍</span></span></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">网安老兵，擅长Web渗透测试、JS逆向、IOT安全测试；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">开发过多个安全、逆向工具、POC、Burp插件等，在github上已发布；</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">github主页：<a href="https://github.com/xm1nutes" target="_blank">https://github.com/xm1nutes</a></span></span></p></li></ul></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;caret-color: rgb(51, 51, 51);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);letter-spacing: 1px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: auto;margin-left: auto;padding: 15px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;font-variant-numeric: normal;letter-spacing: 0.544px;line-height: 27.2px;width: 656.688px;justify-content: space-between;align-items: center;flex-direction: row;box-shadow: rgb(217, 218, 218) 0px 0px 10px;background-color: rgb(232, 234, 235);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;justify-content: flex-start;align-items: center;flex-direction: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;border-width: 1px;border-style: solid;border-color: rgb(182, 182, 187);border-radius: 50%;width: 70px;height: 70px;overflow: hidden;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.9962121212121212" data-s="300,640" data-type="jpeg" data-w="528" style="-webkit-tap-highlight-color:transparent;outline:0px;border-style:none;letter-spacing:0.544px;display:inline;width:68px;visibility:visible !important;height:68px;" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_jpg/Cpo2XCpI7K3Sy71jgOibbyrQF4kibwV7benzMZpCHlUCicM8NtaicU0lvkibnw3QkNChsKtWujibxicqP2B3sa7j1TJ1yibn09gsxe2mdfTibqeQXwno/0?wx_fmt=jpeg&amp;from=appmsg" data-cropx1="108.70588235294117" data-cropx2="636.7058823529412" data-cropy1="0" data-cropy2="528" data-imgfileid="311134546" src="https://wechat2rss.xlab.app/img-proxy/?k=ac5b4a44&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3uYscjdYwzRJ5q7BbqEAw0AraLV4VPSrKpqdwrTXq5JGSecY8dTgibfszwfPzkwicJr6WmyFez5bSpHdKjn2mqFkWcmbE6YacxU%2F640%3Fwx_fmt%3Djpeg"/></p></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-left: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;align-items: flex-start;justify-content: center;flex-direction: column;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" data-immersive-translate-paragraph="1" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 15px;letter-spacing: 1px;font-weight: bolder;"><span leaf="">看雪ID：</span><span leaf=""><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">xxxmm</span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;vertical-align: inherit;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 14px;letter-spacing: normal;"><span leaf=""><span textstyle="" style="letter-spacing: normal;font-style: italic;"><a href="https://bbs.kanxue.com/user-home-1019522.htm" target="_blank">https://bbs.kanxue.com/user-home-1019522.htm</a></span></span></span></p></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;min-height: 1em;background-color: rgb(255, 255, 255);"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 14px;color: rgb(136, 136, 136);"><span leaf="">*本文为看雪论坛优秀文章，由 </span><span leaf="">xxxmm</span><span leaf="">原创，转载请注明来自看雪社区</span></span></p><div style="text-align: center;margin-left: 0px;margin-right: 0px;"><p style="text-align: center;margin-top: 16px;"><a href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458616439&amp;idx=1&amp;sn=ed63972eed0764f9dc562e899e512e05&amp;scene=21#wechat_redirect" imgurl="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/640?wx_fmt=jpeg&amp;from=appmsg" linktype="image" tab="innerlink" data-itemshowtype="0" target="_blank" data-linktype="1"><span style="width:100%;" class="js_jump_icon h5_image_link"><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40390625" data-s="300,640" data-type="jpeg" data-w="1280" style="width:100%;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/0?wx_fmt=jpeg&amp;from=appmsg" data-cropselx2="578" data-cropsely2="294" data-imgfileid="311132601" src="https://wechat2rss.xlab.app/img-proxy/?k=34c8b770&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></span></a></p><p style="text-align: center;"><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">第十届安全开发者峰会【</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;margin-left: 0px;margin-right: 0px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">议题征集</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">】-欢迎投稿</span></span></p></div><div mpa-from-tpl="t" data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 16px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: 645px;vertical-align: top;background-color: rgb(248, 248, 248);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 20px;margin-bottom: 20px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;flex-flow: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: 30px;margin-left: 30px;-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: auto;vertical-align: top;flex: 100 100 0%;height: auto;align-self: flex-start;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(68, 73, 85);" data-mpa-action-id="mpz85kk210x5" data-pm-slice="0 0 []"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;font-weight: bolder;letter-spacing: 1px;font-size: 15px;color: rgb(2, 30, 170);" data-mpa-action-id="mc4gkooxw4z"><span style="color: rgb(2, 30, 170);font-size: 15px;" mpa-font-style="md8f6c2zutc"><span style="color: rgb(2, 30, 170);font-size: 14px;" mpa-font-style="mpz85kjeogg"><span leaf=""><span textstyle="" style="color: rgb(2, 30, 170);"># 往期推荐</span></span></span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617793&amp;idx=2&amp;sn=7c04cbd608dbcb66a161c78d512ec8ee&amp;scene=21#wechat_redirect" textvalue="ISCC 2026 题目 [house of apple 2] 利用方法" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">ISCC 2026 题目 [house of apple 2] 利用方法</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617790&amp;idx=1&amp;sn=7b3e3b422fc5920c4e8c99bf8f5ef76a&amp;scene=21#wechat_redirect" textvalue="Android 内核无痕 Hook 框架设计思路和避坑经验" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">Android 内核无痕 Hook 框架设计思路和避坑经验</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617771&amp;idx=1&amp;sn=f58f92833b9ae49d3cedea9b044a9a71&amp;scene=21#wechat_redirect" textvalue="从零手写 ARM64 自定义 Linker" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">从零手写 ARM64 自定义 Linker</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617695&amp;idx=1&amp;sn=1adc82ab369dde74621883e388e33f0f&amp;scene=21#wechat_redirect" textvalue="从2026CCB决赛堆题CreditMarket学习Glibc2.39后ptmalloc的机制更新" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">从2026CCB决赛堆题CreditMarket学习Glibc2.39后ptmalloc的机制更新</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617685&amp;idx=1&amp;sn=ab68c9ebbdc5f6846975ed86822d674e&amp;scene=21#wechat_redirect" textvalue="2019-SUCTF-SUDriver 学习笔记" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">2019-SUCTF-SUDriver 学习笔记</span></a></span></p></div></div></div></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;" nodeleaf=""><img data-aistatus="1" alt="图片" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="-webkit-tap-highlight-color: transparent;outline: 0px;border-style: none;color: rgb(102, 102, 102);font-family: 微软雅黑;font-size: 15px;letter-spacing: 0.544px;widows: 1;display: inline;width: 661px !important;visibility: visible !important;" width="661px" data-backw="562" data-backh="263" data-copyright="0" data-fileid="100035996" data-imgfileid="311109982" src="https://wechat2rss.xlab.app/img-proxy/?k=e6b64b01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FUia4617poZXP96fGaMPXib13V1bJ52yHq9ycD9Zv3WhiaRb2rKV6wghrNa4VyFR2wibBVNfZt3M5IuUiauQGHvxhQrA%2F640%3Fwx_fmt%3Dother%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1%26tp%3Dwebp"/></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111351" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 13px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111352" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111353" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111354" src="https://wechat2rss.xlab.app/img-proxy/?k=6ec9988e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpUHZDmkBpJ4khdIdVhiaSyOkxtAWuxJuTAs8aXISicVVUbxX09b1IWK0g%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 15px;box-sizing: border-box;"><span leaf="">点击阅读原文查看更多</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://bbs.kanxue.com/thread-291916.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=19d17e2b&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618507%26idx%3D1%26sn%3D77bdb73ed02c2ca4234d6e63120c9282">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 11 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>ClamAV曝出7个高危漏洞，远程可触发杀毒引擎拒绝服务</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618507&amp;idx=2&amp;sn=238e162f45daadcdd87812141a952284</link>
      <description>ClamAV多漏洞，远程可引发杀毒引擎DoS</description>
      <content:encoded><![CDATA[<p><span>看雪学苑</span> <span>2026-08-11 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=95b2f164&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0AB2jvickiboeLVENs7Eia2xSuEfDmmm5dRoQybuTq7UoLAFJ52oREaiaB61AxZiadqPgfh5RHZjXAs4BZmpaE7uStpgKQlDYm3UXw%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>ClamAV多漏洞，远程可引发杀毒引擎DoS</p>
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">思科披露ClamAV一批高危安全漏洞，未经认证的远程攻击者，借助特制恶意文件，即可让杀毒扫描进程崩溃，造成拒绝服务，直接中断恶意代码检测能力。</span></p><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;border-radius: 6px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(231, 244, 255);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(90deg, rgb(87, 159, 255) 13%, rgb(60, 91, 255) 88%);padding: 0px 6px;box-sizing: border-box;"><div style="text-align: justify;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">01</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: auto;flex: 100 100 0%;height: auto;padding: 0px 9px;align-self: stretch;box-sizing: border-box;"><div style="text-align: justify;color: rgb(91, 116, 184);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">事件概况</span></p></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">思科于2026‑08‑07发布安全公告`cisco‑sa‑clamav‑WuuvVd26`，并在8月10日完成更新，公布了ClamAV共计7处安全漏洞。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">该组件被集成在Cisco Secure Endpoint Connector，覆盖Windows、Linux、macOS多终端平台。</span></p></div><div style="margin: 10px 0% 8px;text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;border-left: 3px solid rgb(219, 219, 219);border-bottom-left-radius: 0px;padding: 0px 0px 0px 8px;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="color: rgba(0, 0, 0, 0.5);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">风险等级差异：</span></p></div><div style="color: rgba(0, 0, 0, 0.5);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- Windows平台：高危，扫描进程运行高权限上下文，风险影响更大</span></p></div><div style="color: rgba(0, 0, 0, 0.5);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">- Linux / macOS平台：中危，扫描进程权限受限，危害有所降低</span></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">这批漏洞绝大多数CVSS评分7.5，</span><strong style="box-sizing: border-box;"><span leaf="">无需身份认证、无需用户交互，可远程利用。</span></strong><span leaf="">一旦攻击成功，ClamAV扫描进程直接终止，杀毒检测功能失效，形成拒绝服务风险。</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;border-radius: 6px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(231, 244, 255);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(90deg, rgb(87, 159, 255) 13%, rgb(60, 91, 255) 88%);padding: 0px 6px;box-sizing: border-box;"><div style="text-align: justify;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">02</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: auto;flex: 100 100 0%;height: auto;padding: 0px 9px;align-self: stretch;box-sizing: border-box;"><div style="text-align: justify;color: rgb(91, 116, 184);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">7个漏洞细节一览</span></p></div></div></div></div></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">全部漏洞均来自各类文件格式解析器，当杀毒引擎扫描攻击者构造的恶意文件时即可触发，各个漏洞之间相互独立，无需组合利用。</span></p><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5685185185185185" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134850" src="https://wechat2rss.xlab.app/img-proxy/?k=74b64685&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K3fbzjRyAwZFNdTuU8W8xO5cJkRLuN5XpbkWvP4uxX6nyywlCzRD7Q1ichzOSDazTZbuLUsZz38dey4yzZ4DJdfbGEVVicsJczUA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;border-radius: 6px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(231, 244, 255);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(90deg, rgb(87, 159, 255) 13%, rgb(60, 91, 255) 88%);padding: 0px 6px;box-sizing: border-box;"><div style="text-align: justify;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">03</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: auto;flex: 100 100 0%;height: auto;padding: 0px 9px;align-self: stretch;box-sizing: border-box;"><div style="text-align: justify;color: rgb(91, 116, 184);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">攻击触发途径</span></p></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">攻击者投递恶意文件即可触发漏洞，常见攻击入口包含：</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅邮件附件</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅下载的压缩包、文档</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅共享文件</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅Web应用上传文件场景</span></p></div><div style="margin: 10px 0% 8px;text-align: left;justify-content: flex-start;display: flex;flex-flow: row;width: 100%;border-left: 3px solid rgb(219, 219, 219);border-bottom-left-radius: 0px;padding: 0px 0px 0px 8px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgba(0, 0, 0, 0.5);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">公开POC代码已经流出，针对CVE‑2026‑20337、CVE‑2026‑20337；目前暂未观测到野外实际恶意利用事件。</span></p></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;border-radius: 6px;overflow: hidden;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(231, 244, 255);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(90deg, rgb(87, 159, 255) 13%, rgb(60, 91, 255) 88%);padding: 0px 6px;box-sizing: border-box;"><div style="text-align: justify;color: rgb(255, 255, 255);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">04</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: auto;flex: 100 100 0%;height: auto;padding: 0px 9px;align-self: stretch;box-sizing: border-box;"><div style="text-align: justify;color: rgb(91, 116, 184);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">受影响产品与修复建议</span></p></div></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">1. Cisco Secure Endpoint Connector</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Windows、Linux、macOS终端连接器受漏洞影响，暂无临时缓解方案，建议管理员通过Secure Endpoint管理门户，升级至官方修复版本。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">2. Secure Endpoint私有云部署用户</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">私有云本身不存在漏洞，但需要推送更新后的终端连接器。私有云环境需运行4.2.8及以上版本，才能正常接收连接器更新包。</span></p></div><div style="margin: 10px 0% 8px;text-align: left;justify-content: flex-start;display: flex;flex-flow: row;width: 100%;border-left: 3px solid rgb(219, 219, 219);border-bottom-left-radius: 0px;padding: 0px 0px 0px 8px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgba(0, 0, 0, 0.5);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">漏洞无法实现代码执行，但杀毒引擎宕机后，终端将失去病毒查杀防护，恶意样本可绕过检测。</span></p></div></div><div style="font-size: 14px;color: rgb(160, 160, 160);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><span leaf="">资讯来源：Cisco PSIRT安全公告 cisco‑sa‑clamav‑WuuvVd26</span></em></p></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134847" src="https://wechat2rss.xlab.app/img-proxy/?k=e52844b2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3zXCByfn2xjpOEJsIAmbdWNePSaLiblYwTWEjTXFgzekicticqRmA8fkF4q3p0Y2wWemj5mQ1zJMs9Yawgzfb9gAW4ibFXHHibl25E%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134848" src="https://wechat2rss.xlab.app/img-proxy/?k=8c77e218&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K0dibWm7tPLdLtMicsyfZ5yMBsNdkGzEnI2HuiaUAKXH2icdLrZUUibpZ694bbicRa5ic3bP4WxZpicj1q4T5iafcjFWcH4lv7sAttwAo6o%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134849" src="https://wechat2rss.xlab.app/img-proxy/?k=9fba4d06&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K0r4foj7HnXvBxibvCFnC1QeBIjxoicsZNV8kbzQDTgJpiazd02vDZdk538BNDhghZ0CvU44e03ePoxSq0cTV1JicEXBxHflnZFhicU%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134851" src="https://wechat2rss.xlab.app/img-proxy/?k=53dd6144&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K0XKicKt5cR6WWpe5HINVrQDZgtWaDy1TAwqNqibZrJhxVpKLwqEYOlhjjgMgkOKeibTqkvKLBAv7ou4OF40M4LEraxQzNVVFe8yY%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=e15ca3d1&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618507%26idx%3D2%26sn%3D238e162f45daadcdd87812141a952284">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 11 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>2026 KCTF 赛况 | 巳时关卡『RST』战队 “一血”到手，头部梯队激烈角逐</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618507&amp;idx=3&amp;sn=81ba83f4c07ec6b989fe3c5efaea7aa5</link>
      <description>各战队分秒必争</description>
      <content:encoded><![CDATA[<p><span>2026 KCTF</span> <span>2026-08-11 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=8d05dab6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K35o2Sic8r9mBKt4bsWb62iahEw4wmkYKmmKencRusmFA8RajuN4qw7VDMULh2YHrMaLxwq3gjE9g21y83M6X9VqL0oQibdy9DENY%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>各战队分秒必争</p>
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><span leaf="">2026年8月10日12:00，2026 KCTF攻防对抗赛正式开赛！</span></span></strong><span leaf="">本届赛事沿用多维度积分体系，</span><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><em style="box-sizing: border-box;"><span style=";"><span leaf="">难度、火力、精致度</span></span></em></span><span leaf="">三重积分同步核算，攻防双向计分机制兼顾趣味性与竞技性。</span></p><p><span leaf="">第二道时辰关卡<span textstyle="" style="font-weight: bold;">《</span></span><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="font-weight: bold;">巳时·绿光幽语</span></span><span leaf=""><span textstyle="" style="font-weight: bold;">》</span>于今日中午12:00准时解锁，</span><span leaf="">由 <span textstyle="" style="font-weight: bold;">one team 战队出题</span>，</span><span leaf="">赛场</span><span leaf="">瞬间进入白热化竞速状态，围观</span><span leaf="">热度持续攀升</span><span leaf="">，截至发稿已有<span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">87支战队</span>成功破解此题。</span></p></div><div style="text-align: center;margin: 10px 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40390625" data-s="300,640" data-type="jpeg" data-w="1280" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K3S00vDboHbzMbDckrUsMuPvAR9Ua9N546JTckVv2fcEZAPHKvosNeFhmmKyVxoyU2LwXYf4ibn1IibLF5uznZPYQq2wcF2OZEfI/0?wx_fmt=jpeg&amp;from=appmsg" data-cropselx1="0" data-cropselx2="578" data-cropsely1="0" data-cropsely2="233" data-backw="578" data-backh="233" data-imgfileid="311134840" src="https://wechat2rss.xlab.app/img-proxy/?k=855b2db5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3S00vDboHbzMbDckrUsMuPvAR9Ua9N546JTckVv2fcEZAPHKvosNeFhmmKyVxoyU2LwXYf4ibn1IibLF5uznZPYQq2wcF2OZEfI%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="box-sizing: border-box;"><p><span leaf="">时间递减计分机制下，每多消耗一分钟，都意味着大量积分流失，顶尖战队之间的比拼几乎是分秒之间定高下。</span></p><div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p data-pm-slice="2 2 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">『</span></span><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="color: rgb(0, 82, 255);">RST</span></span><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">』</span>战队一马当先，开赛仅<span textstyle="" style="color: rgb(0, 82, 255);">9分58秒</span>就完成全部解密流程，抢先拿下本题“</span><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;data-pm-slice&#34;:&#34;2 2 [\&#34;para\&#34;,{\&#34;tagName\&#34;:\&#34;section\&#34;,\&#34;attributes\&#34;:{\&#34;style\&#34;:\&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);\&#34;},\&#34;namespaceURI\&#34;:\&#34;http://www.w3.org/1999/xhtml\&#34;},\&#34;para\&#34;,{\&#34;tagName\&#34;:\&#34;section\&#34;,\&#34;attributes\&#34;:{\&#34;style\&#34;:\&#34;box-sizing: border-box;\&#34;},\&#34;namespaceURI\&#34;:\&#34;http://www.w3.org/1999/xhtml\&#34;}]&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]">一血</span><span leaf="">”，直接锁定220积分，这绝对是个极具冲击力的开头。</span></p><p><span leaf="">而身后的追赶梯队丝毫没有给领跑者喘息空间。<span textstyle="" style="color: rgb(0, 82, 255);">『天堂之门』</span></span><span leaf="" style="font-size: 15px;letter-spacing: 1px;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);box-sizing: border-box;">战队紧随其后，用时</span><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">10分25秒</span></span><span leaf="" style="font-size: 15px;letter-spacing: 1px;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);box-sizing: border-box;">闯入第二席位；</span><span leaf="" style="font-size: 15px;letter-spacing: 1px;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);box-sizing: border-box;"><span textstyle="" style="color: rgb(0, 82, 255);">『</span></span><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]" style="font-size: 15px;letter-spacing: 1px;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);box-sizing: border-box;"><span textstyle="" style="color: rgb(0, 82, 255);">COMPASS</span></span><span leaf="" style="font-size: 15px;letter-spacing: 1px;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);box-sizing: border-box;"><span textstyle="" style="color: rgb(0, 82, 255);">』</span></span><span leaf="" style="font-size: 15px;letter-spacing: 1px;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);box-sizing: border-box;">战队</span><span leaf="">同样紧咬不放，<span textstyle="" style="color: rgb(0, 82, 255);">11分48秒完成</span>解题。本题前3名全部卡在开赛12分钟之内完成通关，头部战队的硬实力展现得淋漓尽致。</span></p></div></div><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.3316708229426435" data-s="300,640" data-type="png" data-w="802" style="width:361px;height:481px;" type="block" data-imgfileid="311134841" src="https://wechat2rss.xlab.app/img-proxy/?k=8836b31e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2tAR1l48M3mpvibYrzHEJweicVELJOwPEyBFLfQUAzwdG1SmjvrbIKXv2HgjJWC0yahHMan6ZjGnYIXv25kRBgjothibzjPwqhC8%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: center;"><span leaf=""><span textstyle="" style="font-size: 14px;color: rgb(0, 82, 255);font-style: italic;">第二题 </span></span><span leaf=""><span textstyle="" style="font-size: 14px;color: rgb(0, 82, 255);font-style: italic;">巳时·绿光幽语</span></span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: center;"><span leaf=""><span textstyle="" style="font-size: 14px;color: rgb(0, 82, 255);font-style: italic;">前10名榜单</span></span></p></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">本题的黄金竞速窗口虽已过去，但比赛尚未结束。随着更多战队完成解题，榜单位次依旧存在变数，中游战队依旧存在改写排名的机会，积分榜的拉锯远没有落幕。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311134842" data-ratio="1.6374622356495467" data-s="300,640" type="block" data-type="png" data-w="662" style="width:369px;height:604px;" src="https://wechat2rss.xlab.app/img-proxy/?k=a55f592b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K3pCC7hZjAGkppoQ1RKecaV3Siby1Xs5iau2z0k5bjicJu2rf2MtGqXBc9Iw54qJqJaOSQbFp3sKY3V6dYjEwibiaibQlzgMbOKsicpCk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: center;"><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="font-size: 14px;color: rgb(0, 82, 255);font-style: italic;">攻击方总排行前10名</span></span></p><p><span leaf="">当前距离《巳时·绿光幽语》关卡关闭仍有十余小时，未完成解题的战队仍可提交 flag 获取对应攻击积分，完整解析 WP 将在本题赛程结束后统一公开。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 14px;color: rgb(136, 136, 136);font-style: italic;">本文为2026 KCTF实时赛况报道，攻破数量、战队积分、榜单排名均为发稿瞬时数据，比赛进程中会动态更新，一切以官方平台实时数据为准。</span></span></p><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 31%;vertical-align: middle;align-self: center;flex: 0 0 auto;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px 0px -17px;transform: translate3d(22px, 0px, 0px);-webkit-transform: translate3d(22px, 0px, 0px);-moz-transform: translate3d(22px, 0px, 0px);-o-transform: translate3d(22px, 0px, 0px);box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(255, 255, 255);padding: 0px 5px;box-sizing: border-box;"><div style="text-align: center;line-height: 0;margin: 0px;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 26px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.2474226804123711" data-s="300,640" data-type="png" data-w="388" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134789" src="https://wechat2rss.xlab.app/img-proxy/?k=13f80ddf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K31PCic7xpI5v7sic0NqXAXHUQxSJZFRxNwJAZGB4gHbfcrgPXl3VQZly2zm2jGjtPiaUN4q5IYPicK29l44jBAGFd8KCiaAy9Ewfng%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 13px;overflow: hidden;padding: 20px;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;border-style: dotted;border-width: 2px;border-color: rgb(39, 47, 223);box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="328" style="vertical-align:middle;max-width:100%;width:133px;box-sizing:border-box;height:133px;" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_png/Cpo2XCpI7K0U0PETO8aicNSgsg6o7Fj4XymyrjpWibLSP47gC92tDs85ukCkajou7iaa2vNAp2TZjgKcq8xbqKFxLJJRicl2RjFx9q99u3j3jBs/0?wx_fmt=png&amp;from=appmsg" data-cropselx1="0" data-cropselx2="133" data-cropsely1="0" data-cropsely2="133" data-imgfileid="311134858" src="https://wechat2rss.xlab.app/img-proxy/?k=c03cfb7b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0U0PETO8aicNSgsg6o7Fj4XymyrjpWibLSP47gC92tDs85ukCkajou7iaa2vNAp2TZjgKcq8xbqKFxLJJRicl2RjFx9q99u3j3jBs%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div><div style="margin: 0px;box-sizing: border-box;"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;box-sizing: border-box;"><div style="color: rgb(39, 47, 223);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">第二题《</span><span leaf="">巳时·绿光幽语</span><span leaf="">》</span></strong></span></p></div></div></div></div></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311134790" data-ratio="0.46875" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=1e1ff964&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1DoJc2H5P5xU7mv25PtzWNvDLWcw9Q7n5Q0wVbvrNicYp8ATMcicdhiadmDPN2xjOgxKhlkEhdZGa2JOOQDZgo76Yyg3WgAzcOzQ%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134792" src="https://wechat2rss.xlab.app/img-proxy/?k=3a3624f6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K07Qf03bDiaQibUF0u7qjrR8HvSkWGxgeyz7CjxkMIPG1BuJy6YML9yKKYyicnJDKv474baEQvG0YHBvagEaxB0bynibvVoicLtiaZb0%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134794" src="https://wechat2rss.xlab.app/img-proxy/?k=8f89eeba&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K0IV3geAPWNFE7UvxNcoMY3GOicSco3ibibA2H65WhKSIfnNPHNraMWVicL852IEhkGWzco2BfaEr4pjvTas5U5vZ7uQJNicVKvnHb4%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134795" src="https://wechat2rss.xlab.app/img-proxy/?k=b29f37dd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K0evQhiaF3BzKhx9rM3mZU4OJReiaZgMJIfNbCJJw7D3IqUMibX5dqluMgicPGicjQjUHTxSIZjWowUr0vSQPdX0ah8jN7tXrK4ic77U%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://ctf.kanxue.com/game-season_fight-267.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=2f87b2c8&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618507%26idx%3D3%26sn%3D81ba83f4c07ec6b989fe3c5efaea7aa5">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 11 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>本周更新5节 | 冰与火的战歌：Windows内核攻防实战（内含彩蛋课堂）</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618507&amp;idx=4&amp;sn=23cc587cfcdca2477999a3ca2415a71e</link>
      <description>原理拆解+实战落地+AI赋能</description>
      <content:encoded><![CDATA[<p><span>看雪课程</span> <span>2026-08-11 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=e7d56f74&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0YbujPnu9sg9oyiaXRJWeKSvNVCW4ljDg56S7hgPVvibw49jNvoL1ngg5zVLdjVOARxfVzsibFbDP5IQB7dgwkibicwdwOKOkibu3MA%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>原理拆解+实战落地+AI赋能</p>
  <div style="font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p style="text-align: justify;"><span leaf=""><span textstyle="" style="color: rgb(255, 76, 0);">本周更新5节：</span></span></p><p style="text-align: left;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.2174688057040999" data-s="300,640" data-type="png" data-w="1122" style="width:363px;height:442px;" type="block" data-backw="562" data-backh="684" data-imgfileid="311134857" src="https://wechat2rss.xlab.app/img-proxy/?k=a19f1921&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1Wt4uJpmz1rukQOicfUtibTBGXicYhD8bdPEbp7kUia3hkiaMVcaO4cxAn4J5Snvb69OCia2AZP83yEWiaEuCJ1rLv2lxh0uiaBypRPRA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p class="channels_iframe_wrp" nodeleaf=""><div></div></p><p style="text-align: center;"><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 14px;color: rgb(116, 114, 114);box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="color: rgb(217, 33, 66);">彩蛋课堂：内存映射式注入</span></span></p><p style="text-align: justify;"><span leaf="">在技术迭代如潮的今天，Windows内核依旧是系统安全与开发领域的“兵家必争之地”。它深藏于系统最底层，掌控着内存管理、进程调度、硬件交互的核心权限——既是系统“防火墙”，也是攻防“主战场”。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">对于内核开发者、安全从业者，最痛的莫过于：</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">❌ 啃不透底层原理，漏洞排查无从下手；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">❌ 攻防手段脱离实战，学完用不上；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">❌ AI时代不会借技术红利，陷入重复内耗。</span></p></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">现在，15年实战专家HumanBug亲授课程上线，帮你突破瓶颈，构建可落地的内核攻防能力体系！</span></p><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.4046296296296296" data-s="300,640" data-type="jpeg" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-backw="562" data-backh="227" data-imgfileid="311125965" src="https://wechat2rss.xlab.app/img-proxy/?k=c2b94ce6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K0iatiaicRd2sCDyAXDQ2eXDH4eIhkT8V9Zeqicic9udUmpKVyex7NKZuo1LD0FmAVLzLpounUkhVtbMvxichFxZBgrnCQN1ba1j5rfk%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;color: rgb(215, 0, 4);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">上新价：¥16200</span></strong></p></div><div style="font-size: 14px;color: rgb(116, 114, 114);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">技术要求：具备C/C++编程基础，了解Windows基本概念（进程、线程、DLL等），对操作系统原理有初步认识。拥有内核基础知识更佳，但非强制。</span></p><p data-mpa-action-id="mn4f96jj1sxb" data-pm-slice="0 0 []" style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="400" style="background-color:transparent;width:164px;height:164px;" data-imgfileid="311128742" src="https://wechat2rss.xlab.app/img-proxy/?k=ff6ad0fe&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2pVP9flCxXxZtCqUf1PZpuHRlCcNF4ibvUGH5iarBOlOdNmGasw9mZW4ZsKh3TPl31MI3Jrzu6NJfaicQvvXHUtSYNKXeZoeKwCA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: center;"><span leaf=""><span textstyle="" style="color: rgb(217, 33, 66);">【扫码登录试看】</span></span></p><p style="text-align: center;"><span leaf=""><span textstyle="" style="color: rgb(217, 33, 66);">视频：1-4 IDA Pro + AI MCP双剑合璧</span></span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="margin: 0px;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 45px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32037037037037036" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125967" src="https://wechat2rss.xlab.app/img-proxy/?k=f0c55d6d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2iciaiaib5CQcXlzTBCrCbibAN3W6xVjLr6cRBA1ME5vbDsNu4ZCAicJFqF9xFmic4RgjnbvWxrAgouTbjMica5YJzWt8leU0qgPl8PuE%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 10px;box-sizing: border-box;"><div style="color: rgb(215, 0, 4);line-height: 1.2;letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">课程简介</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="margin: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 45px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32037037037037036" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125963" src="https://wechat2rss.xlab.app/img-proxy/?k=3bfcb21b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1oewoeLj0hfUxPehon1usiaVfKHFG5chPUSOemSSLNhEaGviaqYGms6WibBz3XSho20S4WZPqH12DqQqA5JHlib96eawlboIutDng%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">《冰与火的战歌：Windows内核攻防实战》是由15年Windows内核与驱动开发专家HumanBug亲授的高阶实战课程，以“原理拆解+实战落地+AI赋能”为核心，摒弃冗余理论，深度覆盖Windows内核攻防全场景操作。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">涵盖各类注入机制、Hook策略及行为检测与防御手段，配套生产级同步代码，</span>120小时超长课时兼顾新手入门与高手进阶，不仅能帮助学员吃透内核核心知识点、<span textstyle="" style="font-weight: bold;">掌握可直接落地的实战技能，更能教会学员借助AI开发自动化程序行为审查工具，</span>实现技术能力与工作效率的双重提升，构建完整的内核攻防技术体系。</span></p></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32833020637898686" data-s="300,640" data-type="png" data-w="1066" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-backw="562" data-backh="185" data-imgfileid="311125964" src="https://wechat2rss.xlab.app/img-proxy/?k=2afc499a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2zrqdqAr2xHiapSZI31TgFME5Hibziay8WKZSkyDiaJEg7qZ4FYDyA8aLicmNAY4vygBUWbBseL1VqmZqQtGSBc4iafqeZb400eC1PM%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0% 0px;text-align: left;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;background-color: rgba(187, 0, 3, 0.04);line-height: 0;padding: 0px;flex: 100 100 0%;align-self: flex-start;height: auto;box-sizing: border-box;"><div style="display: flex;flex-flow: row;text-align: justify;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;flex: 100 100 0%;height: auto;align-self: flex-end;box-sizing: border-box;"><div style="color: rgb(215, 0, 4);font-size: 16px;padding: 0px 10px;line-height: 1;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;" data-mpa-action-id="mlg96atyj3e" data-pm-slice="0 0 []"><span leaf="" mpa-font-style="mlg96atfyl2" style="font-size: 15px;">讲师介绍</span><span style="color: rgba(86, 61, 227, 0.16);box-sizing: border-box;"><span leaf="">｜</span><strong style="box-sizing: border-box;"><span leaf="" mpa-font-style="mlg96no7yz4" style="font-size: 15px;" data-mpa-action-id="mlg96noq1lf5" data-pm-slice="0 0 []">PROFILE</span></strong></span></p></div></div></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;padding: 10px 20px 10px 3px;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="display: flex;flex-flow: row;margin: 10px 0%;text-align: justify;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 100 100 0%;box-sizing: border-box;"><div style="color: rgb(103, 42, 42);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">HumanBug：Windows内核与驱动开发专家 | 安全研究员</span></p></div></div></div><div style="display: flex;flex-flow: row;margin: 10px 0%;text-align: justify;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 100 100 0%;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="color: rgb(103, 42, 42);text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">座右铭：探索系统最深处，洞悉每一处“Bug”的本质</span></p></div></div></div></div><div style="display: flex;flex-flow: row;margin: 10px 0%;text-align: justify;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 100 100 0%;box-sizing: border-box;"><div style="color: rgb(103, 42, 42);box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">15年深耕windows开发。先后在安全软件公司和专注于企业级存储/虚拟化解决方案的科技公司任职，工作重心为文件系统过滤驱动、保护驱动、安全防护模块开发工作。不仅负责编写和调试代码，更在解决各种硬件兼容性“玄学”问题的过程中，养成了对系统底层行为近乎偏执的探究习惯。</span></p></div></div></div></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="margin: 0px;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 45px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32037037037037036" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125968" src="https://wechat2rss.xlab.app/img-proxy/?k=3bee4ddb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0bmX7FsDOIDXVWF5DYNFIdHMufDdkwk8KBEIUrPLshibhFgecAe5YRQOUiaLblPiaxRwiaJeXUU8tA8LxmdTh6XuJlwxMD23ccIUI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 10px;box-sizing: border-box;"><div style="color: rgb(215, 0, 4);line-height: 1.2;letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">AI+内核深度融合，掌握高阶职场竞争力</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="margin: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 45px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32037037037037036" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125972" src="https://wechat2rss.xlab.app/img-proxy/?k=8aaf05c8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1k7Ak375OsLwVUPjvlic4NzianmibpRGmcFqficgJ9OdF8AUVTbAOibm11VksHTr2qUdb3jXAmf45pQVflP1Qg84veDicC1T9uWIPtk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">在AI技术快速崛起的当下，单纯掌握传统内核攻防技术已不足以立足职场，如何借助AI实现倍速、高质的业务开发，成为高阶技术人的必备核心能力。本课程精准贴合行业发展趋势，打破“内核技术”与“AI技术”的壁垒，打造兼具实用性与创新性的实战型学习体系。</span></p><div style="text-align: center;margin: 15px 0%;justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 95%;vertical-align: top;box-shadow: rgb(152, 152, 152) 0px 0px 2px;border-width: 2px 0px 0px;border-radius: 10px;border-style: solid;border-color: rgb(215, 0, 4) rgb(62, 62, 62) rgb(62, 62, 62);background-color: rgb(255, 255, 255);padding: 0px 10px 10px;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="margin: 0px 0% 15px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;padding: 0px 10px;border-bottom-left-radius: 0.5em;border-bottom-right-radius: 0.5em;background-color: rgb(215, 0, 4);color: rgb(255, 255, 255);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">...</span></p></div></div><div style="color: rgb(4, 4, 4);text-align: justify;line-height: 1.8;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ 实战导向鲜明：摒弃所有冗余理论，课程内容、配套代码均严格符合生产实践标准，学完就能直接应用到实际项目中，真正实现“学完即用、落地见效”；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ 体系循序渐进：120小时课时科学拆分，从内核底层基础知识点入手，逐步过渡到高阶攻防实战，再到AI赋能工具开发，层层深入、由浅入深，避免跳跃式学习带来的理解困难；</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ AI赋能创新：重点教学如何借助AI技术，开发自动化全方位程序行为拓扑分析工具，帮你摆脱重复劳作，用技术红利提升内核开发与攻防效率，抢占AI时代技术先机。</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.48229665071770333" data-s="300,640" data-type="png" data-w="1045" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-backw="562" data-backh="271" data-imgfileid="311125970" src="https://wechat2rss.xlab.app/img-proxy/?k=ba76d367&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1lecz0ULh4hxySxWF0s5b64icaVVWFUOfn9p16YkPzmPmBPsktTfddhOiboc2xXzNZTQUSIMQsVBMwZagTiawQqLyXvzrdfHDeib4%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="margin: 0px;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 45px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32037037037037036" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125971" src="https://wechat2rss.xlab.app/img-proxy/?k=862f7e4a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3pwGxgtRTkPUBib3wMdb3epBY2MLDV2277P3S4drDCTH3M3REIMa5ic7qCt0dHeeBgPTcNVB5R85NicLLBaibDp2PqmDn45UUqxeA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 10px;box-sizing: border-box;"><div style="color: rgb(215, 0, 4);line-height: 1.2;letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">课程目录（点击图片查看大图）</span></b></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="margin: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 45px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32037037037037036" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125976" src="https://wechat2rss.xlab.app/img-proxy/?k=0f88f2b6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1vyN9XT3sjv1BAZcnIicCoibSwiaeAOvbCVScgBBl4XmZDib7HpMMIggiafTx9gCArcD28FRfXMibknXMWgkU56ZBkHSgOHoIia2BCeo%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="5.605555555555555" data-s="300,640" data-type="png" data-w="1080" style="vertical-align:middle;max-width:100%;width:100%;box-sizing:border-box;" data-backw="562" data-backh="3150" data-imgfileid="311125983" src="https://wechat2rss.xlab.app/img-proxy/?k=e3321f6e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1BebibnPGxBrjU6XAMY15nb4CTft9aoYFZricU29XiaoYhcBUDTQISanUsnSzGhZgnibNP3u9icxhaNZh5lDoetFMrPQ3cTFh9lL9s%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">市面上多数内核课程要么偏重理论、脱离实战，学完无法落地；要么内容片面、覆盖不全，难以应对复杂工作场景；要么忽略AI赋能的行业趋势，让学员学完后难以跟上时代步伐。</span></strong><span leaf="">而这门课程，正是为解决这些行业痛点而生！</span></p><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="transform: perspective(0px);-webkit-transform: perspective(0px);-moz-transform: perspective(0px);-o-transform: perspective(0px);transform-style: flat;box-sizing: border-box;"><div style="margin: 0px;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 45px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32037037037037036" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125974" src="https://wechat2rss.xlab.app/img-proxy/?k=492d2f60&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2BfMPnX5Hh9xa3NwFrG6IucI2UKoPHp1eiaG7eGoXnO3dmpzM612skGiakPgEsaVLAXG2FBKXBiaaq7tLytSnDBiaBh6hK2e0Z9HU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;padding: 0px 10px;box-sizing: border-box;"><div style="color: rgb(215, 0, 4);line-height: 1.2;letter-spacing: 2px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">立即报名：采用加密播放器观看</span></strong></p></div></div><div style="display: inline-block;vertical-align: middle;width: auto;align-self: center;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;box-sizing: border-box;"><div style="margin: 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 45px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.32037037037037036" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125973" src="https://wechat2rss.xlab.app/img-proxy/?k=fec8dc35&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0wn3uKQeAkbibCTib7ofhgx5mD2eCLdQX6EhAnlZl3KJGcp18jvIyRNGaIjzBia0GmlWw5icLEiayE3IoicSaHlKu1nEzEicXfd4wfFU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]">为维护知识产权、严防盗版行为，切实保障全体学员的合法权益，本课程实行<span textstyle="" style="color: rgb(2, 30, 170);">加密客户端专属播放机制，学员需签订保密协议。</span></span></p><p data-mpa-action-id="mlg9d3px23kn" data-pm-slice="0 0 []" style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="400" style="background-color:transparent;width:158px;height:158px;" data-backw="400" data-backh="400" data-imgfileid="311125987" src="https://wechat2rss.xlab.app/img-proxy/?k=60da48ca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K3Bs3KGPJaqReMIbVzMibV2gA0kKUGTMUGIUdia83AhKOfoY49GsQibFibic2sLrWh2ibmoKIeGkInVeIaqibb9mAML1glahticcXRXzYs%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: center;white-space: normal;margin: 0px 0px 8px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-weight: bold;">¥16200  立即报名</span></span></p><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">解锁内核攻防核心密码，成为不可替代的技术强者！</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="396" style="width:158px;height:158px;" type="block" data-imgfileid="311125988" src="https://wechat2rss.xlab.app/img-proxy/?k=1f57a880&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0l4lC4Bk5srCkMaJWWpOPZu5giaUU7EoHZvmFsib5sOYqMXF08QiayXBTePyKB3RHEgTVkIMqDNMSOmKYQkv9SVfzD9hO7DjADZ8%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: center;white-space: normal;margin: 0px 0px 8px;padding: 0px;box-sizing: border-box;"><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center; white-space: normal; margin: 0px 0px 8px; padding: 0px; box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="font-weight: bold;">课程咨询请添加企微</span></span></p></div><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.0200501253132832" data-s="300,640" data-type="jpeg" data-w="399" style="width:155px;height:158px;" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_jpg/Cpo2XCpI7K3HBsib1QcUwH6p9hFDLAEOUVOdncvzxlicyNwYPdQuYTFKK1tWz3aEfhgerbY4t6kjdrQS91SjrM4TXdjIEFpNvlKAhjSo4drDU/640?wx_fmt=jpeg&amp;from=appmsg" data-cropx1="13.367875647668393" data-cropx2="412.1761658031088" data-cropy1="11.139896373056995" data-cropy2="418.860103626943" data-imgfileid="311125989" src="https://wechat2rss.xlab.app/img-proxy/?k=920e5114&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3bWa1tiaU8OObJhwAqT9LYjFic6XSPyWkY51ciau3XDy36Muy7ntllOBeRicybMrPYSpN8J14eagdTja22iaqFicAgMJeXS63kPx2W0%2F640%3Fwx_fmt%3Djpeg"/></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;text-align: center;"><span leaf=""><span textstyle="" style="color: rgb(2, 30, 170);font-weight: bold;">购买后请添加kanxuecom，获取加密视频</span></span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;font-size: 15px;letter-spacing: 1px;line-height: 1.5;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]">*所有代码均随课程提供，学员可直接参考学习进行实战，并最终可获得随课程产出的“基于AI的自动化程序行为审查工具”</span></p><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125975" src="https://wechat2rss.xlab.app/img-proxy/?k=1d416b47&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0NZDK6xYgCuHCQhwiaibjia8cBvqloywD212zHab74iaiboz9G3oQp35plSceJibTGyDMmID4ibNyV6ngsYBviaJQaK8H7ZU2H93W3GvY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125980" src="https://wechat2rss.xlab.app/img-proxy/?k=af08303b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K1CBVfYR72FcKplzMxhVAGIliaTiby1SYDXyPoxNkJqGzHWYHf2ibfibdibfcBV2OoTYbgX155xRZFpVWnv4QIziatnDKSXo60JYPz2Q%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125978" src="https://wechat2rss.xlab.app/img-proxy/?k=9b9c1985&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K2fTmxFR4qG5CpHicl3OOf5rQQb2AlbcX2mOhOiaccIyyMO1njGQDwqmW2rzaP8qzo3AVpXb8DI2RkRjc62DJwNeQ5KbiamAK8VXI%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125982" src="https://wechat2rss.xlab.app/img-proxy/?k=eb70eead&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K1y7oWm0qaNOfOLOLRUYcEycuEoSIRYLF8W1l48LQw0nx5XxzGHfk23QCMHvlKfeD3XfibJyxq4wxK4akZLYWMLCjDNXaXD0UEo%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311125981" src="https://wechat2rss.xlab.app/img-proxy/?k=47d19569&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K0jaiaV1kFiaqS0icibiczGzQwfqiac6o1Pa3wPrfq7hicFavrkpYOWGichLZvVvm7LtEiaSgCNmLEQRGGeYwjqY6ThkUgxzUmiclVnQqNpg%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 14px;box-sizing: border-box;"><span leaf="">点击阅读原文查看更多</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://www.kanxue.com/book-leaflet-227.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=aa29c078&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618507%26idx%3D4%26sn%3D23cc587cfcdca2477999a3ca2415a71e">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 11 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>Kali 下 Android Studio 无法输入中文的问题排查与解决</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618459&amp;idx=1&amp;sn=b445b8909b73c5c33e80ec7bbf7d351f</link>
      <description>看雪论坛作者ID：幻鳕</description>
      <content:encoded><![CDATA[<p><span>幻鳕</span> <span>2026-08-10 18:08</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=720d6fd2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K360eLv84eLg5xJdz2aic8rwCzusY0BXxmOibybaTkf4u41wicabtVzj5UssicO6NtpTqUiawBI613HBQpnywuVXfNKxak7PnyXmAOo%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>看雪论坛作者ID：幻鳕</p>
  <p data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;"><h2><span leaf="" style="color:rgba(0, 0, 0, 0.9);font-size:17px;font-family:&#34;mp-quote&#34;, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height:1.6;letter-spacing:0.034em;font-style:normal;font-weight:normal;"><span textstyle="" style="font-size: 15px;">最近在 Kali Linux上装了 Android Studio，配上了 Claude Code 插件——这个插件能识别我在编辑器里选中的行、选中的文件，直接把它们作为上下文喂给 Claude。</span></span></h2></p><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;"><p><span leaf=""><span textstyle="" style="font-size: 15px;">于是在 AS 内置终端里愉快地用 Claude 写代码。然后撞上一件诡异的事：</span></span></p><blockquote><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">在 AS 的任何地方都打不出中文。</span></span></strong></p></blockquote><p><span leaf=""><span textstyle="" style="font-size: 15px;">不仅是和 Claude 对话的输入框，连代码里的中文注释、字符串字面量，全都只能敲出英文字符。诡异的是：按 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">Shift</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 切换输入法，fcitx5 状态栏</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">会</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">正常切到中文模式，输入法的候选词框也能正常弹出，敲拼音能看到候选词列表，</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">整个输入法 UI 表现得和在 Firefox 里一模一样</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。但是——当你选中某个候选词、准备让它上屏的时候，</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">字符既不会以中文形式落入编辑器，也不会以英文形式落入编辑器，而是直接消失</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，编辑器里什么都不会出现。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">但奇怪的是：</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">同一个 fcitx5，在 Firefox、Mousepad、Terminal 里全都好好的</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。只有 AS 中有问题。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">更让人崩溃的是，我前后折腾了 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx4 → fcitx5 迁移</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">改快捷键</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">加 JVM 参数</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">替换 JBR</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，每一招看起来都&#34;应该是对的&#34;，每一招都没用。最后发现真正的元凶，是 Debian 安装器悄悄塞进 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/root/.profile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 的一行 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这篇文章就把整个排查过程（含弯路）原原本本记下来，给同样掉坑的同学一个参考。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">现象与边界</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">先列清楚症状和边界条件，这是后续所有推断的基础：</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.7601851851851852" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134683" src="https://wechat2rss.xlab.app/img-proxy/?k=dd859aad&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1niaLWxr4xicw6SsouXgnl6sQhLwmiaUkETQ7HCPMicsoxAvRcDhRUiaQdnicasUXiaYfKB5rDnShgltZNicdrsaTgibW2k9jjoXRey3jg%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">边界很清楚：</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5 这边一切正常，连候选词框、候选词列表都看得到，但 AS 这边在选词上屏的瞬间字符被丢弃了</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。这是一个非常关键的信号——它说明输入法框架本身没问题，问题在「fcitx5 把 commit string 投递给 AS 之后」的那一段路径上。按键事件 fcitx5 拦到了，也正常处理了，唯独最后一步「把中文字符串交给 AS」失败了。结合 AS 是个 Java 应用、AWT 在 X11 下走 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">sun.awt.X11InputMethod</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">（XIM 协议）这条相对&#34;老派&#34;的路径，排查方向应该收敛到 Java/输入法协议层，而不是继续在 fcitx5 配置上打转。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">弯路一：fcitx4 → fcitx5 迁移</span></strong></p></div></div></div></div></div></div></div><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;"><h3 style="font-weight:bold;font-size:15px;margin-top: 1rem;margin-bottom: 1rem;"><span leaf=""><span textstyle="" style="font-size: 15px;">动机</span></span></h3><p><span leaf=""><span textstyle="" style="font-size: 15px;">我一开始用的是 fcitx4（4.2.9.9）。想到 JBR 21 已经正式弃用对 fcitx4 的支持，社区里也有大量&#34;JBR 21 + fcitx4 中文失效&#34;的反馈，于是第一反应就是迁移到 fcitx5。</span></span></p><h3 style="font-weight:bold;font-size:15px;margin-top: 1rem;margin-bottom: 1rem;"><span leaf=""><span textstyle="" style="font-size: 15px;">操作</span></span></h3><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">apt purge fcitx fcitx-bin fcitx-</span><span class="code-snippet__built_in">config</span><span textstyle="" style="font-size: 15px;">-gtk fcitx-modules fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt4 fcitx-frontend-qt5 fcitx-ui-classic</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">apt install fcitx5 fcitx5-chinese-addons fcitx5-</span><span class="code-snippet__built_in">config</span><span textstyle="" style="font-size: 15px;">-qt fcitx5-frontend-gtk2 fcitx5-frontend-gtk3 fcitx5-frontend-qt5 fcitx5-modules</span></span></code></pre></p><blockquote><p><span leaf=""><span textstyle="" style="font-size: 15px;">注意：Kali/Debian 新版已经移除了 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5-googlepinyin</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 独立包，pinyin 表并入 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5-chinese-addons</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">（字典还是 Google 的）。第一次装会报 package not found，按这个调整即可。</span></span></p></blockquote><p><span leaf=""><span textstyle="" style="font-size: 15px;">写 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">~/.xinputrc</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">run_im fcitx5</span></span></code></pre></p><p><code></code></p><p><code><span leaf=""><span textstyle="" style="font-size: 15px;">~/.xprofile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 保留原有：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__built_in">export</span><span textstyle="" style="font-size: 15px;"> GTK_IM_MODULE=fcitx</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">export</span><span textstyle="" style="font-size: 15px;"> QT_IM_MODULE=fcitx</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">export</span><span textstyle="" style="font-size: 15px;"> XMODIFIERS=</span><span class="code-snippet__string">&#34;@im=fcitx&#34;</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">（fcitx5 对 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 这个旧名字提供兼容，不用改成 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">）</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">把 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/usr/share/applications/org.fcitx.Fcitx5.desktop</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 复制到 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/etc/xdg/autostart/</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，确保开机自启。</span></span></p><h3 style="font-weight:bold;font-size:15px;margin-top: 1rem;margin-bottom: 1rem;"><span leaf=""><span textstyle="" style="font-size: 15px;">结果</span></span></h3><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">迁移本身完全成功，但 AS 还是打不出中文。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 其他程序一切正常。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这条弯路的教训：</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">社区里&#34;换个输入法框架就好了&#34;的建议，往往是因为提问者本来就只剩输入法框架的问题。但症状相同不等于根因相同。</span></span></strong></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">弯路二：fcitx5 触发键冲突</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">迁移完测了一下，发现 fcitx5 默认的 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">Ctrl+Space</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 和 AS 的代码补全快捷键完全冲突。按下去先弹补全建议，输入法根本没机会响应。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">改 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">~/.config/fcitx5/config</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">[</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">Hotkey/TriggerKeys</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">=Shift_L</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;">=Shift_R</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">[</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">Hotkey/AltTriggerKeys</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">=</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">单按左/右 Shift 切换中英文，干净利落。</span></span></p><p><code><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5-remote -r</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 让配置立即生效。</span></span></p><h3 style="font-weight:bold;font-size:15px;margin-top: 1rem;margin-bottom: 1rem;"><span leaf=""><span textstyle="" style="font-size: 15px;">结果</span></span></h3><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">其他程序里 Shift 切换工作完美，AS 里依然哑的。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 至少排除了快捷键冲突这个干扰因素，但问题本身没动。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">弯路三：-Drecreate.x11.input.method=true</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">这是 JetBrains 官方推荐的 JBR X11 输入法相关参数。文档说它强制 Java 重建 X11 输入法上下文，能解决一些 IME 不响应的问题。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">编辑 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/data/apps/android-studio/bin/studio64.vmoptions</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，加一行：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">-Drecreate.x11.input.method</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">=</span><span class="code-snippet__literal">true</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">重启 AS。</span></span></p><h3 style="font-weight:bold;font-size:15px;margin-top: 1rem;margin-bottom: 1rem;"><span leaf=""><span textstyle="" style="font-size: 15px;">验证</span></span></h3><p><span leaf=""><span textstyle="" style="font-size: 15px;">用 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">jps -v</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 看 JVM 实际加载的参数（AS 的原生启动器 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">bin/studio</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 是个 ELF 二进制，不是 shell 脚本，没法直接 grep 命令行）：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__variable">$</span><span textstyle="" style="font-size: 15px;"> jps -v </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">|</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> grep studio</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">40738</span><span textstyle="" style="font-size: 15px;"> studio </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">...</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> -Drecreate.x11.</span><span class="code-snippet__keyword">input</span><span textstyle="" style="font-size: 15px;">.method</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">=</span></span><span leaf=""><span class="code-snippet__literal">true</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">...</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">参数确实加载了。</span></span></p><h3 style="font-weight:bold;font-size:15px;margin-top: 1rem;margin-bottom: 1rem;"><span leaf=""><span textstyle="" style="font-size: 15px;">结果</span></span></h3><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">还是不行。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 参数加载了但行为没变，说明问题不在这个开关上。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">弯路四：替换 JBR（最大的一条弯路）</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">到这一步，开始怀疑是 JBR 21.0.8 本身有 bug。JetBrains Issue Tracker 上确实有 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">JBR-8496</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">：某些场景下 CJK 输入法失效。issue 标记为已在更新版本修复。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">于是去 JetBrains Runtime releases 找最新的 21 系列 build，选中 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">jbr_jcef-21.0.10-linux-x64-b1163.110.tar.gz</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">（带 JCEF，AS 必需，比 21.0.8 新）。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">操作（注意 Linux 下可以热替换，JVM 文件已经 mmap 进内存）：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__comment"># AS 还在跑也没关系，mv 只是改目录名，inode 仍然被 JVM 持有</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">cd</span><span textstyle="" style="font-size: 15px;"> /data/apps/android-studio</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">mv</span><span textstyle="" style="font-size: 15px;"> jbr jbr.bak</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 下载</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">curl -L -o /tmp/jbr_new.tar.gz \</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  <a href="https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-21.0.10-linux-x64-b1163.110.tar.gz" target="_blank">https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-21.0.10-linux-x64-b1163.110.tar.gz</a></span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 解压后会得到 jbr_jcef-21.0.10-linux-x64-b1163.110/，改名</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">tar -xzf /tmp/jbr_new.tar.gz</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">mv</span><span textstyle="" style="font-size: 15px;"> jbr_jcef-21.0.10-linux-x64-b1163.110 jbr</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># 验证</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">$ ./jbr/bin/java -version</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">openjdk version </span><span class="code-snippet__string">&#34;21.0.10&#34;</span><span textstyle="" style="font-size: 15px;"> 2026-01-20</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">OpenJDK Runtime Environment JBR-21.0.10+7-1163.110-jcef (build 21.0.10+7-b1163.110)</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">退出 AS，从菜单重启。</span></span></p><h3 style="font-weight:bold;font-size:15px;margin-top: 1rem;margin-bottom: 1rem;"><span leaf=""><span textstyle="" style="font-size: 15px;">结果</span></span></h3><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">仍然不行。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> JBR 升级到 21.0.10，中文还是输不进去。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">到这一步，所有的&#34;常规嫌疑&#34;都被排除了：输入法框架 ✅、快捷键 ✅、JVM 参数 ✅、JBR 版本 ✅。问题必然在更底层。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">真相：进程的环境变量</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">排查走到死胡同，回头重新审视「为什么 AS 收不到非 ASCII 字符」。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5 的 XIM 前端是通过 XIM 协议（X11 Input Method）和客户端通信的。Java AWT 在 X11 下用的就是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">sun.awt.X11InputMethod</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，走 XIM 这条路。而其他 GTK/Qt 程序是通过 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">GTK_IM_MODULE</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">/</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">QT_IM_MODULE</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 直接加载 fcitx5 的原生 module，不走 XIM。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">用 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5-diagnose</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 看一眼：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">program:studio frontend:xim </span><span class="code-snippet__built_in">cap</span><span textstyle="" style="font-size: 15px;">:4000000000 focus:1</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">AS 确实是通过 XIM 连上的，fcitx5 这边没有任何问题。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">那么 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">XIM 链路是通的，但 Java 这一侧没在收 commit string</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> —— 这种行为在 Java 社区里有个非常经典的解释：</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">sun.awt.X11InputMethod</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 在初始化 input context 时会检查当前 locale，</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">locale 不支持 CJK 时，它会退化成只接受 ASCII 的 passthrough</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，所有非拉丁字符的 commit string 直接丢弃。这恰好和我们看到的症状丝丝入扣：输入法 UI 正常显示（那是 fcitx5 自己画的）、拼音预输入和候选词列表正常工作（那是 fcitx5 自己的状态机），唯独最后一步「fcitx5 通过 XIM </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">XmbCommitString</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 把中文字符串提交给 AS」时，Java 这边的 X11InputMethod 因为 locale 是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，认定&#34;我不需要处理 CJK&#34;，把这些字符直接扔了。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">那 AS 的 locale 是什么？直接看进程 environ：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">$ </span><span class="code-snippet__built_in">tr</span><span class="code-snippet__string">&#39;\0&#39;</span><span class="code-snippet__string">&#39;\n&#39;</span><span textstyle="" style="font-size: 15px;"> &lt; /proc/$(pgrep -f </span><span class="code-snippet__string">&#39;/data/apps/android-studio/bin/studio&#39;</span><span textstyle="" style="font-size: 15px;"> | </span><span class="code-snippet__built_in">head</span><span textstyle="" style="font-size: 15px;"> -1)/environ \</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    | grep -E </span><span class="code-snippet__string">&#34;^(LANG|LC_|XMODIFIERS|GTK_IM|QT_IM|DISPLAY)&#34;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANGUAGE=C</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">GTK_IM_MODULE=fcitx</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C          </span><span class="code-snippet__comment"># ← 罪证</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">XMODIFIERS=@im=fcitx</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">QT_IM_MODULE=fcitx</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">DISPLAY=:0.0</span></span></code></pre></p><p><strong><code></code></strong></p><p><strong><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">Java 在 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 下启动的 AWT，X11InputMethod 会判定&#34;当前 locale 不需要 CJK 输入支持&#34;，于是即使 XIM 协议层 fcitx5 已经生成好中文字符串准备 commit，Java 这一侧在收到 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">XmbCommitString</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 事件时直接把它们扔了。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这就是为什么 AS 表现为「输入法 UI 全程正常、选词上屏时字符凭空消失」——一个非常迷惑人的中间态：看起来输入法在工作（确实在工作），但屏幕上什么也出不来。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">那这个 LANG=C 哪来的？</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">奇怪了，我终端里明明是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">en_US.UTF-8</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">。怎么 AS 拿到的是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">？</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">查一下系统 locale 配置：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">$ </span><span class="code-snippet__built_in">cat</span><span textstyle="" style="font-size: 15px;"> /etc/default/locale</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=</span><span class="code-snippet__string">&#34;zh_CN.UTF-8&#34;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANGUAGE=</span><span class="code-snippet__string">&#34;zh_CN:zh&#34;</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">系统默认是对的。问题出在 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">XFCE 会话进程本身</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">$ </span><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;"> pid </span><span class="code-snippet__keyword">in</span><span textstyle="" style="font-size: 15px;"> $(pgrep xfce4-session); </span><span class="code-snippet__keyword">do</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">tr</span><span class="code-snippet__string">&#39;\0&#39;</span><span class="code-snippet__string">&#39;\n&#39;</span><span textstyle="" style="font-size: 15px;"> &lt; /proc/</span><span class="code-snippet__variable">$pid</span><span textstyle="" style="font-size: 15px;">/environ | grep -E </span><span class="code-snippet__string">&#34;^(LANG|LC_)&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">done</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANGUAGE=C</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C           </span><span class="code-snippet__comment"># ← XFCE 会话就是 LANG=C！</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">XFCE 会话本身就是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，所有从菜单启动的图形程序都继承这个。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">继续往上找。</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/root/.profile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 第 8-12 行：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__comment"># Installed by Debian Installer:&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#  no localization for root because zh_CN.UTF-8&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#  cannot be properly displayed at the Linux console&#34;</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANG</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">=C</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANGUAGE</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">=C</span></span></code></pre></p><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">罪魁祸首找到。</span></span></strong></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">Debian/Kali 安装器在用 root 装系统时，会主动写入这段配置。注释说得很清楚：因为 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">Linux 字符控制台（tty1~6）使用的 console font 不一定支持 zh_CN.UTF-8，会显示乱码</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，所以保险起见给 root 一个 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">这个出发点是对的，但它有个致命的副作用：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><code><span leaf=""><span textstyle="" style="font-size: 15px;">.profile</span></span></code><p><span leaf=""><span textstyle="" style="font-size: 15px;"> 被 login shell 读取</span></span></p></li><li><strong><span leaf=""><span textstyle="" style="font-size: 15px;">图形显示管理器（lightdm/gdm/sddm）启动 X 会话时也会 source </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.profile</span></span></code></strong></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">于是整个 XFCE 会话、以及会话内所有从菜单启动的 GUI 程序，全都继承了 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">那为什么我终端里是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">en_US.UTF-8</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">？因为 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.bashrc</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 第 164-165 行又把它改回来了：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__built_in">export</span><span textstyle="" style="font-size: 15px;"> LANG=en_US.UTF-8</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">export</span><span textstyle="" style="font-size: 15px;"> LC_ALL=en_US.UTF-8</span></span></code></pre></p><p><code></code></p><p><code><span leaf=""><span textstyle="" style="font-size: 15px;">.bashrc</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 只对交互式 bash 生效。图形程序不读 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.bashrc</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">。于是 </span></span><strong><code><span leaf=""><span textstyle="" style="font-size: 15px;">.profile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 设错了，</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.bashrc</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 又悄悄把它修回来</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，两股力量在终端里抵消，问题被完美隐藏。只有从菜单启动的 X 应用才暴露真相。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">修复</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">思路很简单：</span></span><strong><code><span leaf=""><span textstyle="" style="font-size: 15px;">.profile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 里给一个既能在字符控制台显示、又能让 X 应用加载 CJK 输入法的 locale</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">最完美的人选是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">en_US.UTF-8</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">所有字符都是 ASCII，纯字符控制台显示完全无压力</span></span></p></li><li><p><span leaf=""><span textstyle="" style="font-size: 15px;">locale 本身是 UTF-8 编码的，Java 的 locale 检查会通过 CJK 输入路径</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">改 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/root/.profile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__comment"># Installed by Debian Installer:&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#  no localization for root because zh_CN.UTF-8&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#  cannot be properly displayed at the Linux console&#34;</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#  Changed to en_US.UTF-8: still ASCII-safe on the Linux console, but</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#  lets X11/Wayland apps (incl. JetBrains/Android Studio) load CJK</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment">#  input methods via XIM — LANG=C disables Java&#39;s X11InputMethod.</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANG</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">=en_US.UTF-</span><span class="code-snippet__number">8</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">LANGUAGE</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">=C</span></span></code></pre></p><p><code></code></p><p><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANGUAGE=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 保留——它只影响消息语言，不影响 locale 的字符编码判定，而且符合&#34;root 用英文消息&#34;的原意。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">为了让修改不依赖重新登录就能立刻验证，同时改 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/usr/share/applications/android-studio.desktop</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">Exec=</span><span class="code-snippet__built_in">env</span><span textstyle="" style="font-size: 15px;"> LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /data/apps/android-studio/bin/studio</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">完全退出 AS，从菜单重启。</span></span></p><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">成了。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 按 Shift 切到中文，「你好」两个字清清楚楚地出现在编辑器里。代码注释、Claude 对话框、字符串字面量，所有地方中文都能正常输入。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">一些值得记的调试技巧</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">整个排查过程中，有几个命令组合特别好用，留作备忘：</span></span></p><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">1. 看一个 X 程序到底继承了什么环境变量</span></span></strong></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__built_in">tr</span><span class="code-snippet__string">&#39;\0&#39;</span><span class="code-snippet__string">&#39;\n&#39;</span><span textstyle="" style="font-size: 15px;"> &lt; /proc/</span><span class="code-snippet__variable">$PID</span><span textstyle="" style="font-size: 15px;">/environ | grep -E </span><span class="code-snippet__string">&#34;^(LANG|LC_|XMODIFIERS|GTK_IM|QT_IM)&#34;</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">比 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">cat /proc/$PID/environ</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 可读多了。</span></span></p><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">2. </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">jps -v</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 看 JVM 实际参数</span></span></strong></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">AS 的原生启动器 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">bin/studio</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 是个 ELF 二进制，不是 shell 脚本，</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">ps -ef | grep studio</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 看不到 JVM 的命令行参数。</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">jps -v</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 能列出所有 JVM 进程的完整参数，包括 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">-Dxxx=yyy</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 这类。验证 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">-Drecreate.x11.input.method=true</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 是不是真的生效就靠它。</span></span></p><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">3. </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5-diagnose</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 看输入法连接状态</span></span></strong></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">输出里的 &#34;Input Context&#34; 段会显示每个客户端连接用的 frontend：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin:0;padding:0;border-radius:none;background:none;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">program:studio frontend:xim </span><span class="code-snippet__built_in">cap</span><span textstyle="" style="font-size: 15px;">:4000000000 focus:1</span></span></code></pre></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">看到 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">frontend:xim</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 就能判断 Java 这边走的是 XIM 路径——后续所有推断都建立在这个事实之上。</span></span></p><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">4. 区分 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.profile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 和 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.bashrc</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 的作用域</span></span></strong></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><code><span leaf=""><span textstyle="" style="font-size: 15px;">.profile</span></span></code><p><span leaf=""><span textstyle="" style="font-size: 15px;">login shell 读取，</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">图形会话启动时也会被 source</span></span></strong></p></li><li><code><span leaf=""><span textstyle="" style="font-size: 15px;">.bashrc</span></span></code><p><span leaf=""><span textstyle="" style="font-size: 15px;">只对交互式 bash 生效</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">如果某个环境变量在终端里是对的、在 GUI 程序里是错的，</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">100% 是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.profile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">（或 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.xprofile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.xsession</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">）的问题</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，跟 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.bashrc</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 没关系。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="margin-top: 10px;margin-bottom: 10px;text-align: center;box-sizing: border-box;"><div style="padding: 3px;display: inline-block;vertical-align: middle;box-sizing: border-box;"><div style="border-radius: 5px;background-color: rgb(223, 222, 247);box-sizing: border-box;"><div style="border-radius: 5px;border-color: rgb(77, 77, 77);padding-left: 8px;padding-right: 8px;border-style: dashed;border-width: 1px;display: inline-block;vertical-align: top;margin: -3px 3px 3px -3px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">反思</span></strong></p></div></div></div></div></div></div><p><span leaf=""><span textstyle="" style="font-size: 15px;">回头看，整个排查走了四条弯路才找到根因。每条弯路在当时的情境下都&#34;看起来合理&#34;，因为它们解决的都是社区里别人问得最多的问题。但症状相同 ≠ 根因相同。</span></span></p><p><span leaf=""><span textstyle="" style="font-size: 15px;">几个教训：</span></span></p><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">GUI 程序行为异常，先看 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">/proc/$PID/environ</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 很多诡异问题最后都是某个环境变量被某层 shell 配置悄悄改了。这一步的成本只有一条命令，但能省下大量时间。</span></span></p></li><li><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">&#34;终端里正常，GUI 里不正常&#34; = 几乎一定是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.profile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> / </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.xprofile</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> / </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">.xsession</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 的问题。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 因为这两类程序读的启动文件不一样。</span></span></p></li><li><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">Java 的输入法对 locale 极其敏感。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> GTK/Qt 能容忍 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 继续干活，而 Java AWT 的 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">sun.awt.X11InputMethod</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 在 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 下会直接退化为 ASCII passthrough。本文只验证了 AS 这一个 Java 应用，但基于这个机制，可以合理推测：凡是用 AWT/Swing 走 XIM 路径的 Java GUI 程序，在 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 下都会出现同样的&#34;切换看得到、字符进不来&#34;症状。如果遇到类似现象，可以把&#34;locale 检查&#34;列为首选嫌疑。</span></span></p></li><li><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">Debian 安装器给 root 设的 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=C</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 是个历史遗留的坑。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 它的出发点是对的（保护字符控制台），但在今天的图形桌面环境下副作用远大于收益。如果你是 root 用户且在用 GUI，强烈建议把这行改成 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">en_US.UTF-8</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p></li><li><p><strong><code><span leaf=""><span textstyle="" style="font-size: 15px;">fcitx5</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 走 XIM 还是原生 module 是两套完全不同的路径。</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> GTK/Qt 程序通过 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">GTK_IM_MODULE</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">/</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">QT_IM_MODULE</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 走 module；Java、Wine、一些老 X 应用走 XIM。XIM 这条路径对 locale、对 JBR 行为都更敏感。诊断时必须分开看。</span></span></p></li></ul><p><span leaf=""><span textstyle="" style="font-size: 15px;">最后，给同样在 Kali/Debian + root + JetBrains 全家桶组合下挣扎的同学一个一句话清单：</span></span></p><blockquote><p><strong><span leaf=""><span textstyle="" style="font-size: 15px;">GUI 程序打不出中文，先 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">cat /proc/$(pgrep -f 你的程序)/environ | tr &#39;\0&#39; &#39;\n&#39; | grep LANG</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，不是 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">LANG=xxx.UTF-8</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 的，先把它修对，再谈别的。</span></span></strong></p></blockquote><p><span leaf=""><span textstyle="" style="font-size: 15px;">这一条能省掉本文 90% 的弯路。</span></span></p><p><em><span leaf=""><span textstyle="" style="font-size: 15px;">环境信息：Kali GNU/Linux Rolling 2025.4 (kali-rolling, 基于 Debian trixie) / Kernel 6.17.10+kali-amd64 / XFCE / X11 / root 用户 / Android Studio AI-252.27397.103.2522 / JBR 21.0.10+7-1163.110-jcef / fcitx5</span></span></em></p></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;caret-color: rgb(51, 51, 51);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);letter-spacing: 1px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: auto;margin-left: auto;padding: 15px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;font-variant-numeric: normal;letter-spacing: 0.544px;line-height: 27.2px;width: 656.688px;justify-content: space-between;align-items: center;flex-direction: row;box-shadow: rgb(217, 218, 218) 0px 0px 10px;background-color: rgb(232, 234, 235);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;justify-content: flex-start;align-items: center;flex-direction: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;border-width: 1px;border-style: solid;border-color: rgb(182, 182, 187);border-radius: 50%;width: 70px;height: 70px;overflow: hidden;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="jpeg" data-w="89" style="-webkit-tap-highlight-color:transparent;outline:0px;border-style:none;letter-spacing:0.544px;display:inline;width:68px;visibility:visible !important;height:68px;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K3ppYzCXeC27CobdnFzlryYcjkKVYib8wvkp6ZIDQPgnAfjic8zJoS4CHt4xoDISLAB5w0KD11g6P2ECviawGH6vSeUG7BYOWoicic0/0?wx_fmt=jpeg&amp;from=appmsg" data-cropx1="7.836734693877551" data-cropx2="96.65306122448979" data-cropy1="0" data-cropy2="88.81632653061224" data-imgfileid="311134680" src="https://wechat2rss.xlab.app/img-proxy/?k=63a56709&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K2Fk0zIk6M25CxSbR3JIBWt3oe5iagiaGg2MH8SS7ibWMniajqRibV4yictD8FzeWXFyqkoPmP53x5IHVA2CBuaUtiatuJdQ26xPDCpSQ%2F640%3Fwx_fmt%3Djpeg"/></p></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-left: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;align-items: flex-start;justify-content: center;flex-direction: column;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" data-immersive-translate-paragraph="1" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 15px;letter-spacing: 1px;font-weight: bolder;"><span leaf="">看雪ID：</span><span leaf=""><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">幻鳕</span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;vertical-align: inherit;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 14px;letter-spacing: normal;"><span leaf=""><span textstyle="" style="letter-spacing: normal;font-style: italic;"><a href="https://bbs.kanxue.com/user-home-1040522.htm" target="_blank">https://bbs.kanxue.com/user-home-1040522.htm</a></span></span></span></p></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;min-height: 1em;background-color: rgb(255, 255, 255);"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 14px;color: rgb(136, 136, 136);"><span leaf="">*本文为看雪论坛优秀文章，由 </span><span leaf="">幻鳕</span><span leaf="">原创，转载请注明来自看雪社区</span></span></p><div style="text-align: center;margin-left: 0px;margin-right: 0px;"><p style="text-align: center;margin-top: 16px;"><a href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458616439&amp;idx=1&amp;sn=ed63972eed0764f9dc562e899e512e05&amp;scene=21#wechat_redirect" imgurl="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/640?wx_fmt=jpeg&amp;from=appmsg" linktype="image" tab="innerlink" data-itemshowtype="0" target="_blank" data-linktype="1"><span style="width:100%;" class="js_jump_icon h5_image_link"><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40390625" data-s="300,640" data-type="jpeg" data-w="1280" style="width:100%;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/0?wx_fmt=jpeg&amp;from=appmsg" data-cropselx2="578" data-cropsely2="294" data-imgfileid="311132601" src="https://wechat2rss.xlab.app/img-proxy/?k=34c8b770&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></span></a></p><p style="text-align: center;"><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">第十届安全开发者峰会【</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;margin-left: 0px;margin-right: 0px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">议题征集</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">】-欢迎投稿</span></span></p></div><div mpa-from-tpl="t" data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 16px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: 645px;vertical-align: top;background-color: rgb(248, 248, 248);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 20px;margin-bottom: 20px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;flex-flow: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: 30px;margin-left: 30px;-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: auto;vertical-align: top;flex: 100 100 0%;height: auto;align-self: flex-start;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(68, 73, 85);" data-mpa-action-id="mpz85kk210x5" data-pm-slice="0 0 []"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;font-weight: bolder;letter-spacing: 1px;font-size: 15px;color: rgb(2, 30, 170);" data-mpa-action-id="mc4gkooxw4z"><span style="color: rgb(2, 30, 170);font-size: 15px;" mpa-font-style="md8f6c2zutc"><span style="color: rgb(2, 30, 170);font-size: 14px;" mpa-font-style="mpz85kjeogg"><span leaf=""><span textstyle="" style="color: rgb(2, 30, 170);"># 往期推荐</span></span></span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617971&amp;idx=1&amp;sn=4622615543a67f8798504569081adc7a&amp;scene=21#wechat_redirect" textvalue="从时间片轮转到调用级并发：unidbg 单后端多线程架构重构" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">从时间片轮转到调用级并发：unidbg 单后端多线程架构重构</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617960&amp;idx=2&amp;sn=29f97365fe3188b772387e3dbc806c70&amp;scene=21#wechat_redirect" textvalue="基于VT EPT的无痕断点无痕hook原理及其应用" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">基于VT EPT的无痕断点无痕hook原理及其应用</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617841&amp;idx=1&amp;sn=eaf79a20b2ec38cac329f72b75bd03a4&amp;scene=21#wechat_redirect" textvalue="基于 GLM-5.2 的 X-Gnarly (332位) 纯算还原分析" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">基于 GLM-5.2 的 X-Gnarly (332位) 纯算还原分析</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617793&amp;idx=2&amp;sn=7c04cbd608dbcb66a161c78d512ec8ee&amp;scene=21#wechat_redirect" textvalue="ISCC 2026 题目 [house of apple 2] 利用方法" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">ISCC 2026 题目 [house of apple 2] 利用方法</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617790&amp;idx=1&amp;sn=7b3e3b422fc5920c4e8c99bf8f5ef76a&amp;scene=21#wechat_redirect" textvalue="Android 内核无痕 Hook 框架设计思路和避坑经验" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">Android 内核无痕 Hook 框架设计思路和避坑经验</span></a></span></p></div></div></div></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;" nodeleaf=""><img data-aistatus="1" alt="图片" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="-webkit-tap-highlight-color: transparent;outline: 0px;border-style: none;color: rgb(102, 102, 102);font-family: 微软雅黑;font-size: 15px;letter-spacing: 0.544px;widows: 1;display: inline;width: 661px !important;visibility: visible !important;" width="661px" data-backw="562" data-backh="263" data-copyright="0" data-fileid="100035996" data-imgfileid="311109982" src="https://wechat2rss.xlab.app/img-proxy/?k=e6b64b01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FUia4617poZXP96fGaMPXib13V1bJ52yHq9ycD9Zv3WhiaRb2rKV6wghrNa4VyFR2wibBVNfZt3M5IuUiauQGHvxhQrA%2F640%3Fwx_fmt%3Dother%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1%26tp%3Dwebp"/></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111351" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 13px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111352" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111353" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111354" src="https://wechat2rss.xlab.app/img-proxy/?k=6ec9988e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpUHZDmkBpJ4khdIdVhiaSyOkxtAWuxJuTAs8aXISicVVUbxX09b1IWK0g%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 15px;box-sizing: border-box;"><span leaf="">点击阅读原文查看更多</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://bbs.kanxue.com/thread-291707.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=19eae11c&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618459%26idx%3D1%26sn%3Db445b8909b73c5c33e80ec7bbf7d351f">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Mon, 10 Aug 2026 18:08:00 +0800</pubDate>
    </item>
    <item>
      <title>Claude Code被利用，Mac设备生成反向隧道实现持久驻留</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618459&amp;idx=2&amp;sn=1a15df2f9713527cd2be82b3455bf7f8</link>
      <description>Claude Code会话触发macOS高危持久化风险</description>
      <content:encoded><![CDATA[<p><span>看雪学苑</span> <span>2026-08-10 18:08</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=078d16a7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0y1ibGribicvibzZt2bqBqUx7ialLwMbrS3ia8PLicylr9icMFiapZFBicESFwfnicqvHZ5DUsIbVjralLSicmdfWcibJIKugq42FCoTkMR3QA%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>Claude Code会话触发macOS高危持久化风险</p>
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">当开发者依赖AI编码助手提升工作效率时，工具自身衍生出的安全风险正在浮出水面。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Elastic最新披露的安全事件显示，</span><span style="color: rgb(37, 137, 251);box-sizing: border-box;"><span leaf="">运行在Mac开发机上的Claude Code会话，可衍生出反向隧道、凭据外发、系统持久化驻留等高危行为，</span></span><span leaf="">它并非传统恶意程序，却可借由AI可信进程外衣，给开发环境埋下重大安全隐患。</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;z-index: 1;min-width: 5%;max-width: 100%;height: auto;margin: 0px -43px;box-sizing: border-box;"><div style="margin: 7px 0px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">可信AI会话下的异常链路</span></strong></p></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Elastic安全研究团队在梳理2026年7月终端遥测数据时，捕获到一起特殊安全活动。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(74, 73, 69);box-sizing: border-box;"><span leaf="">一台macOS开发设备上，Claude Code编码会话作为父可信进程，派生zsh shell执行一系列高危操作：向外提交登录凭证、搭建反向隧道暴露本地服务、写入LaunchAgent配置实现开机自启，就算用户登出账号或者设备重启，该访问链路依旧可以存活。</span></span></p></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">该行为并非典型病毒木马，整套动作依托AI编码工具的合法能力完成。这也带来安全领域的棘手难题：</span><strong style="box-sizing: border-box;"><span leaf="">合法自动化能力，边界在哪，什么时候会演变为安全威胁。</span></strong></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">研究人员同时强调，该行为存在多种可能性，不能直接断定就是恶意入侵，也有可能是本地仪表盘远程管理操作。但凭据泄露、反向隧道、持久化驻留三者同时出现，无论如何都必须开展深度排查，不能直接忽略告警。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一旦被利用，风险不会局限于单台主机：本地业务仪表盘对外暴露会造成内部运营数据泄露；持久隧道还能够给未授权人员提供一条回连开发环境的通道，威胁整个开发工作站安全。</span></p></div><div style="margin: 10px 0% 8px;text-align: left;justify-content: flex-start;display: flex;flex-flow: row;width: 100%;border-left: 3px solid rgb(219, 219, 219);border-bottom-left-radius: 0px;padding: 0px 0px 0px 8px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgba(0, 0, 0, 0.5);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">父进程是经过签名的可信AI应用，不代表它调用执行的所有子命令都是安全的，这也是本次事件最容易被忽视的防御盲区。</span></p></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;z-index: 1;min-width: 5%;max-width: 100%;height: auto;margin: 0px -43px;box-sizing: border-box;"><div style="margin: 7px 0px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">攻击完整链路：从可信会话到持久存活</span></strong></p></div></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 80%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5972222222222222" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134803" src="https://wechat2rss.xlab.app/img-proxy/?k=990ab12b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K3sov7yUQMty0iclsJcQqwKicA8dzeAgib7TayxIoN41geBvZxe7gepkqsm6sNx8bK5j2VXPU5IyBnXribvu9quJnDM7cIVHREN3Pk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">整个行为一共分为4个阶段，全部依托Claude Code会话展开：</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">1. 可信会话启动</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Claude Code启动，使用权限绕过参数，跳过部分权限确认弹窗，拉起zsh shell快照。从进程日志上看，完全是正常AI编码工具运行的模样。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">2. 携带凭据对外访问</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">通过脚本化curl请求向外提交账号密码等敏感凭据，抓取接口业务数据，把Cookie保存在本地，向外部可疑域名传输数据，这也是整起事件最关键的“证据环节”。</span></p></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 80%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.38055555555555554" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134801" src="https://wechat2rss.xlab.app/img-proxy/?k=2e803006&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0mA7h7uFMz2qUmVCmFNt6yOHRCLzjmF9C8rwSa7vyEHCTibSagGibGbgticOGAa1FUv0C6cPquHSozQzMDuFgrEAV9v3pAIe9yuU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">3. 搭建反向隧道，对外发布本地服务</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">调用`cloudflared`快速隧道工具，无需修改防火墙入站规则，依靠出站连接，把本机localhost服务暴露到公网。日志中还发现ngrok二进制程序痕迹。</span></p></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 80%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.225" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134800" src="https://wechat2rss.xlab.app/img-proxy/?k=5ceb05f7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K2TfJ3QQia2RVsg0JiaD2kTf3yRCu7OcLZWRB2EWqHFr8qUusriaVxVw90ML3HibS97jymKTTze7piaeWWOzzrYracr1icDSXuP4W4VU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="margin: 10px 0% 8px;text-align: left;justify-content: flex-start;display: flex;flex-flow: row;width: 100%;border-left: 3px solid rgb(219, 219, 219);border-bottom-left-radius: 0px;padding: 0px 0px 0px 8px;align-self: flex-start;box-sizing: border-box;"><div style="color: rgba(0, 0, 0, 0.5);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">说明：Cloudflare隧道、ngrok本身属于正规开发工具；但当它和凭据外发行为组合出现，就具备了外部访问本机的能力，不能单凭工具本身判定是否恶意。</span></p></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">4. 配置持久化，保障隧道常驻</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">写入macOS的LaunchAgent开机自启配置，设置60秒周期的看门狗检测，不断探测隧道连通性。即使用户注销登录、设备重启，隧道相关程序依旧可以自动运行，维持外部访问通道。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Elastic指出：</span><strong style="box-sizing: border-box;"><span leaf="">单独某一项行为告警也许噪音很高，但阶段2‑4的行为组合在一起，就是高风险事件，不能因为父进程是GenAI工具就直接关闭告警。</span></strong></p></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Kibana终端日志也完整记录下现场痕迹：zsh下运行python脚本，进程调用cloudflared，与`api.trycloudflare.com`、可疑临时域名产生网络通信，完整复现了这条攻击链。</span></p><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: flex-start;flex: 0 0 auto;z-index: 1;min-width: 5%;max-width: 100%;height: auto;margin: 0px -43px;box-sizing: border-box;"><div style="margin: 7px 0px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">企业防御启示与处置建议</span></strong></p></div></div></div></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">这起事件暴露出大模型编码工具带来的新型安全挑战：很多工具属于“双重用途”，能力本身无善恶，既可以服务正常开发，也能被用来做隐蔽入侵，不能只依靠程序签名、域名信誉做简单判断。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">Elastic给出了面向企业安全团队的实操建议：</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ 不要自动关闭AI工具衍生出的告警：包含凭据POST请求、反向隧道工具、新增LaunchAgent条目，即便父进程是大模型编码工具，告警也必须人工复核。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ 区分子进程噪音和实际危害结果，重点关注行为组合，而非单一告警。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ 严格管控AI工具危险的权限绕过模式，减少跳过系统确认的参数使用。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ 定期审查系统新增LaunchAgent自启项，每一条都要核对是否经过开发者正式审批。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ 所有隧道工具的使用，必须和正式开发任务文档做校验核对。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">✅ 一旦发现命令行中泄露账号凭据，第一时间轮转修改密码；清理设备内未经授权的隧道辅助二进制文件，确认无残留风险之后，设备才可恢复投入使用。</span></p></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">资讯来源：Elastic / Cyber Security News</span></p><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134799" src="https://wechat2rss.xlab.app/img-proxy/?k=7b91bbea&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K2QlR0hsXWWt2iadyx6QMmlSlJJLy6gXdL2gpQHYm91jRP6dXUt8WFBAgLoAzKUGJ1vwJQIAQBU4iaHv1AicKYPUSDBcqxBlrxRWU%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134802" src="https://wechat2rss.xlab.app/img-proxy/?k=83cce770&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K2DkeQM3ukHSEHoZUP5nQibNpeuYWpf9tYiciaQj0uGEXR7TYVAQEIecD178Csx70x3wKQebiaFDibAhA4QRt5ibdMibSic8JINj6T2Pw4%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134804" src="https://wechat2rss.xlab.app/img-proxy/?k=37fc8c54&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K1FzCU6EwCqibL2M1l5Xs0SGoXiasAXjgnD2WpibA33QhLKryNavXnTR2pVdNogFFoRnYGZQqoszw4zSjfgrurO8U3PmYlPWXvBuw%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134806" src="https://wechat2rss.xlab.app/img-proxy/?k=5b50a467&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K0nlnRibibMA2gWjtaiaxibP7FT8KOdoJmZgibpiaoWuy9Kp8aj9IyK1PEw0Lb3S8icZ3f7HyiclbrPN0zG5BxN0RuplCE46QLdLWv4hII%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=0c334e8e&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618459%26idx%3D2%26sn%3D1a15df2f9713527cd2be82b3455bf7f8">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Mon, 10 Aug 2026 18:08:00 +0800</pubDate>
    </item>
    <item>
      <title>2026 KCTF 赛况 | 破晓开战：『逆向初学团队』4分24秒拿下签到题“一血”</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618459&amp;idx=3&amp;sn=173cb50d784326c34a95364701fdc138</link>
      <description>签到题赛事周期内持续开放</description>
      <content:encoded><![CDATA[<p><span>2026 KCTF</span> <span>2026-08-10 18:08</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=25dec7e5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3QUWfIK9XGcVU61unE1R7pVvSdyBHlj7hLgvV0oW9YhqFDI8Yzf0ZAWtnribaTEC0RCHYeibellQN52wwm8NACB7pfyNYicPzKKI%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>签到题赛事周期内持续开放</p>
  <div style="font-size: 15px;letter-spacing: 1px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);"><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><span leaf="">2026年8月10日12:00，2026 KCTF攻防对抗赛正式开赛！</span></span></strong><span leaf="">本届赛事沿用多维度积分体系，</span><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><em style="box-sizing: border-box;"><span style=";"><span leaf="">难度、火力、精致度</span></span></em></span><span leaf="">三重积分同步核算，攻防双向计分机制兼顾趣味性与竞技性。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">首个</span><strong style="box-sizing: border-box;"><span leaf="">签到题《辰时・钟鸣破晓》为逆向题型，</span></strong><span leaf="">是面向全赛道选手的</span><strong style="box-sizing: border-box;"><span leaf="">入门热身题。</span></strong><span leaf="">开赛瞬间赛场热度直接拉满。</span></p></div><div style="text-align: center;margin: 10px 0px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40370370370370373" data-s="300,640" data-type="jpeg" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134787" src="https://wechat2rss.xlab.app/img-proxy/?k=599d986a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3aKTWxLoqMqErL1KFMVeSyZiaXfzmtGGg4SbSdLxpdjeOh4k3Z87HqCaypYKFR3p8kubmUEBicu3se9lG13MXXpSm8ZkYVA04RU%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">开赛仅仅</span><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><span leaf="">4分24 秒，『逆向初学团队』率先提交flag，拿下第一血</span></span><span leaf="">，斩获55攻击积分！</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">紧随其后，</span><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><span leaf="">『RST』</span></span><span leaf="">战队以14分48秒的成绩拿下第二名；</span><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><span leaf="">『Resesese』</span></span><span leaf="">战队14分49秒位列第三。</span><span style="color: rgb(39, 47, 223);box-sizing: border-box;"><span leaf="">LinYuan、天堂之门、天外星系、青青草原大家庭、乔治 qwq、hzqmwne、bzd 是什么</span></span><span leaf="">，跻身前10榜单。</span></p></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 80%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.368020304568528" data-s="300,640" data-type="png" data-w="788" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134791" src="https://wechat2rss.xlab.app/img-proxy/?k=6a61ee4d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0Qf2uoicaWrYv5P0E5fiaCkZjib9ZlShQJWGP71ZphxmywSic5gvcagQyoM6jkw68YYd5LeribGowqn4AXW2icwyMuU78RksTVGKibhA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;color: rgb(116, 114, 114);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><em style="box-sizing: border-box;"><span leaf="">签到题前10攻破榜单</span></em></p></div><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">⚠️</span><span style="color: rgb(249, 110, 87);box-sizing: border-box;"><span leaf="">签到题赛事周期内持续开放，比赛全程都可以提交 flag </span></span><span leaf="">获取对应攻击积分，还未完成签到的战队依旧可以继续答题。成功解出题目后，战队需要在提交区发布完整 WP 才可正常发放奖励。</span></p><div style="box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">十二时辰大幕已启，辰时破晓过后，巳时、午时等其余赛题将陆续解锁。</span></p><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">排行榜的角逐才刚刚开始，期待各支战队后续更加精彩的表现！</span></p></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 31%;vertical-align: middle;align-self: center;flex: 0 0 auto;height: auto;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px 0px -17px;transform: translate3d(22px, 0px, 0px);-webkit-transform: translate3d(22px, 0px, 0px);-moz-transform: translate3d(22px, 0px, 0px);-o-transform: translate3d(22px, 0px, 0px);box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;min-width: 5%;max-width: 100%;height: auto;background-color: rgb(255, 255, 255);padding: 0px 5px;box-sizing: border-box;"><div style="text-align: center;line-height: 0;margin: 0px;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 26px;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.2474226804123711" data-s="300,640" data-type="png" data-w="388" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134789" src="https://wechat2rss.xlab.app/img-proxy/?k=13f80ddf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K31PCic7xpI5v7sic0NqXAXHUQxSJZFRxNwJAZGB4gHbfcrgPXl3VQZly2zm2jGjtPiaUN4q5IYPicK29l44jBAGFd8KCiaAy9Ewfng%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;border-style: solid;border-width: 1px;border-color: rgb(39, 47, 223);border-radius: 13px;overflow: hidden;padding: 20px;box-sizing: border-box;"><div style="text-align: center;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;border-style: dotted;border-width: 2px;border-color: rgb(39, 47, 223);box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="328" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134788" src="https://wechat2rss.xlab.app/img-proxy/?k=52792724&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3jHWjsSMUv7qM4PPUCRtibhcibFicSwEKRW7pV1OnhwB5jYNicquNqibqNu83Mb7u5nFO7A5INcZtxKIuA77ibOgNsicwdRPJkRYcAog%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div></div></div></div></div><div style="margin: 0px;box-sizing: border-box;"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;box-sizing: border-box;"><div style="color: rgb(39, 47, 223);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">签到题《辰时・钟鸣破晓》</span></strong></span></p></div></div></div></div></div><div style="line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134790" src="https://wechat2rss.xlab.app/img-proxy/?k=1e1ff964&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1DoJc2H5P5xU7mv25PtzWNvDLWcw9Q7n5Q0wVbvrNicYp8ATMcicdhiadmDPN2xjOgxKhlkEhdZGa2JOOQDZgo76Yyg3WgAzcOzQ%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134792" src="https://wechat2rss.xlab.app/img-proxy/?k=3a3624f6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K07Qf03bDiaQibUF0u7qjrR8HvSkWGxgeyz7CjxkMIPG1BuJy6YML9yKKYyicnJDKv474baEQvG0YHBvagEaxB0bynibvVoicLtiaZb0%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 12px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134794" src="https://wechat2rss.xlab.app/img-proxy/?k=8f89eeba&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K0IV3geAPWNFE7UvxNcoMY3GOicSco3ibibA2H65WhKSIfnNPHNraMWVicL852IEhkGWzco2BfaEr4pjvTas5U5vZ7uQJNicVKvnHb4%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311134795" src="https://wechat2rss.xlab.app/img-proxy/?k=b29f37dd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FCpo2XCpI7K0evQhiaF3BzKhx9rM3mZU4OJReiaZgMJIfNbCJJw7D3IqUMibX5dqluMgicPGicjQjUHTxSIZjWowUr0vSQPdX0ah8jN7tXrK4ic77U%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 12px;text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://ctf.kanxue.com/game-season_fight-267.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=7cb9aa72&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618459%26idx%3D3%26sn%3D173cb50d784326c34a95364701fdc138">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Mon, 10 Aug 2026 18:08:00 +0800</pubDate>
    </item>
    <item>
      <title>2026 KCTF 攻击方规则发布！8月10日12点，正式开赛</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618432&amp;idx=1&amp;sn=e41a435b6f32dfbc90eea7a9dcea1b8f</link>
      <description>破壁永夜，等你来战</description>
      <content:encoded><![CDATA[<p><span>2026KCTF</span> <span>2026-08-08 17:59</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=6cfa8b9e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K3m6th3ia0UK6mBPXl8kict23ZIyw5qeawibnXibPy9oddLDOTlw78PoyuuV6e241EkFF7iaV2gadVeviaBw0xETZDY11ibmpoWOUK8tM%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>破壁永夜，等你来战</p>
  <div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf=""><span textstyle="" style="font-size: 15px;">2026 KCTF 规则更新</span></span></b></p></div></div></div></div><p data-pm-slice="2 10 []" style="margin-top: 8px;margin-bottom: 8px;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">为适应 AI 技术在安全研究、CTF 出题与解题中的应用发展，并优化动态积分体验，2026 年 KCTF 规则作如下更新：</span></span></p><p style="text-align: justify;"><strong><span leaf=""><span textstyle="" style="font-size: 15px;">一、新增 AI Security / LLM Security 题型</span></span></strong></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">征题范围新增 AI 安全 / 大模型安全方向，包括但不限于 Prompt Injection、Jailbreak、RAG 安全、Agent 工具调用安全、模型与数据安全、AI 供应链安全、LLM 应用漏洞利用等相关题目。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI Security / LLM Security 题目须保证可复现、可审计、可稳定判定，不得依赖不可控外部 AI 服务作为核心判题逻辑，相关题目须经组委会专项审核后方可参赛。</span></span></p><p style="text-align: justify;"><strong><span leaf=""><span textstyle="" style="font-size: 15px;">二、允许攻防双方使用 AI 工具</span></span></strong></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">防守方和攻击方均可使用 AI 工具辅助出题、审计、分析、解题、脚本编写和 writeup 整理。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI 工具仅作为辅助工具，使用方对 AI 生成或辅助生成的内容承担全部责任。使用 AI 不降低题目的原创性、安全性、稳定性、可复现性和可审计性要求，也不改变攻击方积分计算原则。</span></span></p><p style="text-align: justify;"><strong><span leaf=""><span textstyle="" style="font-size: 15px;">三、新增 AI 使用披露要求</span></span></strong></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">防守方如使用 AI 工具辅助出题，应在提交材料中说明 AI 使用情况，包括 AI 参与环节、是否进行人工审核、是否包含 AI 生成代码或第三方内容等。组委会可根据审核需要要求补充说明。</span></span></p><p style="text-align: justify;"><strong><span leaf=""><span textstyle="" style="font-size: 15px;">四、明确 AI 使用边界</span></span></strong></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">允许使用 AI Agent 或自动化脚本辅助分析，但不得对比赛平台、靶机或判题系统进行高频、无节制、破坏性或超出题目范围的自动化请求。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">不得利用 AI 工具实施攻击比赛平台、破坏比赛环境、绕过平台权限、批量爆破、泄露 flag、共享答案、攻击非题目目标等违规行为。</span></span></p><p style="text-align: justify;"><strong><span leaf=""><span textstyle="" style="font-size: 15px;">五、优化部分规则表述</span></span></strong></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">统一题型和平台名称表述，将 Windows、Android、Linux、IoT 等名称规范化；修正部分章节编号、年份表述和重复编号问题；扩展“多解/非预期解”的定义，使其适用于 CrackMe、Reverse、PWN、WEB、Crypto 及 AI Security / LLM Security 等题型。</span></span></p><p style="text-align: justify;"><strong><span leaf=""><span textstyle="" style="font-size: 15px;">六、调整破解时间降分系数</span></span></strong></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">2026 年 KCTF 将破解时间降分系数 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">SCORE_DECAY_RATE</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 由往年的 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">1.0 调整为 0.7。</span></span></strong></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方破解时间系数调整为：</span></span></p><p style="text-align: justify;"><img class="rich_pages wxw-img" data-ratio="0.49645390070921985" data-s="300,640" data-type="png" data-w="282" style="width: 186px;height: auto !important;" type="block" data-imgfileid="311134757" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=72902899&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0jBribErYeSOTZEulzBDNicWtQIZb2JJS6T2dR6T1SrWTJVWF6EXhj7xn1AMaPmtN6mHEsgxoTzpjiawqZebiajYOsibdIibbtD9eow%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其中：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"></ul><p style="text-align: justify;"><img class="rich_pages wxw-img" data-ratio="0.33203125" data-s="300,640" data-type="png" data-w="512" style="width: 242px;height: auto !important;" type="block" data-imgfileid="311134758" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=a1cce3ee&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K0J3tekNAqdHr91MMMSO42ZuxSSDqWKU2mnW5S9EgJ4QUK2GMICNaMAdpDG3yoFuVYy2RVgTBEBZQEiaglH9pd5y2YSG1bPiaKFw%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">与往年的 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">SCORE_DECAY_RATE = 1.0</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 相比，调整为 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">0.7</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 后，后续破解者的得分下降速度更平缓，但仍保持“越早破解、得分越高”的原则。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">例如，某攻击方破解用时分别为一血用时的 2 倍、4 倍、8 倍时，其时间系数约为 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">80.78%</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">68.95%</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">、</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">61.66%</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">；随着破解时间继续增加，时间系数理论下限仍为 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">50%</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">同时，火力值计算中的攻击火力系数同步调整为：</span></span></p><p style="text-align: justify;"><img class="rich_pages wxw-img" data-ratio="0.4108527131782946" data-s="300,640" data-type="png" data-w="258" style="width: 230px;height: auto !important;" type="block" data-imgfileid="311134759" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=13703f2a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K03JXDLnSJorSzZDG3xXChQfbIGxL6V3qVdal48ibJT91WDpEyO3CkeibCxXkibl9YE1icZJfMibRWUBhcpvSkxUiaUIiaSG3sxK7ic8pw%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">本次调整不改变出题基本分（50 分）、难度加权分（150 分）、一血加分系数（10%）及多解计算系数（87%）。</span></span></p><p style="text-align: right;"><span leaf=""><span textstyle="" style="font-size: 15px;">2026年8月</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">KCTF竞赛组委会</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">一、比赛时间</span></b></p></div></div></div></div><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">开始：</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: normal;">2026年8月10日 中午12:00</span></span></strong></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">结束：</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: normal;">2026年9月10日</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: normal;">（截止时间根据攻击方比赛情况而定）</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">二、比赛入口</span></b></p></div></div></div></div><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">KCTF 官方网站：<a href="https://ctf.kanxue.com" target="_blank">https://ctf.kanxue.com</a></span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">三、主办方</span></b></p></div></div></div></div><p style="text-align: justify;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.37962962962962965" data-s="300,640" data-type="png" data-w="1080" style="width: 190px;height: auto !important;" type="block" data-imgfileid="311134756" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=a8d3fa3d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0cxPXGY8Fa42vfKZkXa3HTmJxXp5NSLRjZ6yspFKV0Zm5ZqicPyjKTuIYHGLw15xkicaFic1jeK52iaAUk7lMQTXKjPN4CfBClKTU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">四、攻击篇比赛赛制</span></b></p></div></div></div></div></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">1、赛制</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">本届 KCTF 团队赛为线上赛，由论坛会员自由组成攻、防两方团队，每个团队人数不超过 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">5 人</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。由防守方出题，攻击方夺旗。</span></span></p><blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">比赛时间：弹性制</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">赛题公布：比赛开始时中午 12 点放出第一题</span></span></p></blockquote><p style="text-align: justify;"><strong><span leaf=""><span textstyle="" style="font-size: 15px;">注：攻击者不能攻击自己团队提交的题目。</span></span></strong></p></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">2、赛期</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">规则：顺序发题、</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">弹性赛期</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">防守题的赛期根据被破解情况决定，最少 1 天，最多 4 天。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">一律中午 12 点发题。发题当天记作第 0 天。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若第 (i) 天上午 6 点该题被破解次数大于等于 (5^{3-i})，则在第 (i) 天中午 12 点结束该题，发下一题。</span></span></p><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">解释</span></span></h3><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">发题后的第 1 天 6 点，若破解次数少于 25 人，则继续比赛；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">发题后的第 2 天 6 点，若破解次数少于 5 人，则继续比赛；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">发题后的第 3 天 6 点，若破解次数少于 1 人，则继续比赛；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">以上任意一天继续比赛的条件不满足，就在当天中午 12 点换下一题；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">6 点至 12 点之间的破解依然有效；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">发题后的第 4 天中午 12 点，此题一定结束。</span></span></p></li></ul></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">3、赛题类型简介</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">本届比赛赛题包括但不限于：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">CrackMe / Reverse：Windows、Android、iOS、Linux、IoT 等；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">PWN；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">WEB；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">Crypto；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI Security / LLM Security。</span></span></p></li></ul><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">自 2023 年起，不接受 Misc 类题型。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI Security / LLM Security 题目包括但不限于 Prompt Injection、Jailbreak、RAG 安全、Agent / Tool Calling 安全、模型与数据安全、AI 应用漏洞利用，以及 AI 与 WEB / PWN / Crypto 等传统安全方向结合的组合题。</span></span></p><p style="text-align: justify;"><span leaf="" style="text-align: justify;"><span textstyle="" style="font-size: 15px;">赛题应具有明确、稳定、可验证的判定结果。传统 PWN、WEB、Crypto 及 AI Security / LLM Security 题目通常以</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">flag{***}</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 作为判定结果；CrackMe / Reverse 题目按照对应方案提交注册码或序列号。</span></span></p></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">4、赛题背景情节（*本故事纯属虚构，仅为增添赛事乐趣、增加代入感）</span></span></h2><blockquote><p><span leaf="">序幕：</span></p><p><span leaf="">天地分十二辰，周而复始，是为天道。</span></p><p><span leaf="">永夜之城，逆天而行，使辰光凝固，循环不息。</span></p><p><span leaf="">时空坍缩，时辰交叠，十二重时序凝为十重试炼。</span></p><p><span leaf="">破壁人循时索迹，穿行十二时辰之内，闯十重幻境，解时序枷锁，复日月轮回。然每破一关，时辰之名便如谶语，照见真相……</span></p></blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: normal;">更多剧情，请点击</span><a class="normal_text_link mp_article_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618398&amp;idx=1&amp;sn=1dbd94e3e7e0a8b09880c1db8d42c47b&amp;scene=21#wechat_redirect" textvalue="【2026 KCTF赛题背景】" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="font-size: 15px;font-weight: normal;">【</span></a></span><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify;margin-left: 8px;margin-right: 8px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><a class="normal_text_link mp_article_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618398&amp;idx=1&amp;sn=1dbd94e3e7e0a8b09880c1db8d42c47b&amp;scene=21#wechat_redirect" textvalue="【2026 KCTF赛题背景】" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="font-size: 15px;font-weight: normal;">2026 KCTF赛题背景</span></a></span><span leaf=""><a class="normal_text_link mp_article_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618398&amp;idx=1&amp;sn=1dbd94e3e7e0a8b09880c1db8d42c47b&amp;scene=21#wechat_redirect" textvalue="【2026 KCTF赛题背景】" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="font-size: 15px;font-weight: normal;">】</span></a><span textstyle="" style="font-size: 15px;font-weight: normal;">查看。</span></span></p></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">五、攻击方如何参赛？</span></b></p></div></div></div></div><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">1、参赛形式</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">本次看雪 CTF 比赛为团队赛，团队 PK 团队。如何创建团队 / 加入团队，请看：【KCTF组队指南】</span></span></p><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">2、答案提交</span></span></h2><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">题目发布后，得到正确答案，请及时在比赛平台 <a href="https://ctf.kanxue.com" target="_blank">https://ctf.kanxue.com</a> 提交；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">每个团队任何团队成员均可提交答案，但每道题每个团队只记录一次正确提交。例如团队5人中，1人提交正确答案后，其余成员无需、也不能再次为该团队提交同一道题；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">在最终成绩公布前，请在【答案提交区】发表解题分析文章，并提交所用工具、关键脚本、源代码等必要材料。文章应有理有据，能够完整说明获得答案的过程，否则不予发放奖品；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方成绩以比赛平台记录的正确 flag、注册码、序列号或其他有效解题结果的提交时间为准。</span></span></p></li></ul></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">3、解题规则</span></span></h2><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.1 PWN</span></span></h3><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">PWN 题目公布时，将提供服务器 IP、漏洞程序对应端口及必要的二进制附件，或提供可复现的 Docker / 本地环境资料。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击者需要对二进制程序进行分析并利用漏洞，最终获取目标服务的 shell 或读取 flag。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">FLAG 提交格式：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">flag{***}</span></span></code></pre></p><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.2 CrackMe / Reverse</span></span></h3><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">CrackMe / Reverse 题目分为 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">方案一</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;"> 和 </span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">方案二</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。Windows 平台详细规则请参考《2026 KCTF 防守方规则》</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">5.1 关于 Windows 平台 CrackMe 设计规则</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">；Android、iOS、Linux、IoT 等逆向题原则上参考 Windows 平台对应规则。</span></span></p><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">方案一</span></span></h4><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">题目以注册码作为判胜结果；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">CrackMe 应有且仅有唯一注册码；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">注册码字符集限定为 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">[&#39;!&#39;,&#39;~&#39;]</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，即 ASCII 码范围 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">[33,126]</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，共 94 个可选字符；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若发现第二个及以上有效注册码，则按多解规则处理。</span></span></p></li></ul><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">方案二</span></span></h4><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">防守方发布 CrackMe 时，会公开一组 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">Name/Serial</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">公开的 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">Name</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 为 CrackMe 文件 SHA256 结果前 64 bit 的 16 进制大写文本；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方需要找出特定用户名 </span></span><strong><code><span leaf=""><span textstyle="" style="font-size: 15px;">KCTF</span></span></code></strong><span leaf=""><span textstyle="" style="font-size: 15px;">（不含引号）对应的序列号；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若攻击方找出 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">KCTF</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 对应的第二个有效序列号，经 KCTF 官方确认，将认定此题存在多解；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">序列号字符集限定为 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">[&#39;!&#39;,&#39;~&#39;]</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，即 ASCII 码范围 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">[33,126]</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，共 94 个可选字符。</span></span></p></li></ul><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若发现注册码、序列号或其他答案存在多解，而比赛平台无法直接认可该提交，请加比赛专用 QQ 群：</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">8601428</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，联系管理员验证。</span></span></p><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.3 WEB</span></span></h3><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">WEB 题目发布时，将提供题目 URL 或相应环境信息。攻击者应根据题目目标，通过发现并利用 WEB 漏洞获得 flag。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">FLAG 提交格式：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">flag{***}</span></span></code></pre></p><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.4 Crypto</span></span></h3><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">Crypto 题目以密码学分析为核心，攻击者根据题面、附件或交互式服务分析算法、参数、随机数、密钥生成或其他密码学问题，最终获得可验证 flag。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">FLAG 提交格式：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">flag{***}</span></span></code></pre></p><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">3.5 AI Security / LLM Security</span></span></h3><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI Security / LLM Security 题目以人工智能系统、大语言模型应用、智能 Agent、RAG、模型接口、提示词工程或 AI 应用安全缺陷为主要攻击对象或核心解题要素。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方应根据题目目标完成相应攻击路径，并最终获得明确的 flag 或其他可验证结果。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">题目可能涉及但不限于：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">Prompt Injection / Jailbreak；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">RAG / 知识库安全；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">Agent / Tool Calling 越权；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">文件读取、SSRF、命令执行等 Agent 调用链问题；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI 应用与 WEB、PWN、Crypto 等传统漏洞结合的组合题。</span></span></p></li></ul><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI Security / LLM Security 题目不得仅以“说服模型”“让模型输出某类内容”“完成某种对话效果”等主观结果作为唯一判定标准，最终应以比赛平台可明确验证的结果为准。</span></span></p><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">4、计分规则</span></span></h2><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.1 基本原则</span></span></h3><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">根据防守题在赛期内被破解的次数、破解时间及多解情况，计算各题的相对难度；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方计分使用每道题的</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">原始归一难度系数</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">，并结合攻击方破解时间计算得分；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">防守方难度值、火力值等防守方积分使用对应的防守方计分规则；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">每道题的难度系数会随着攻击方提交情况动态变化，比赛结束时的最终分数决定比赛结果；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方在某题上的得分</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">不因此题出现多解而受影响</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p></li></ul><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.2 难度系数评估</span></span></h3><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.2.1 原始难度系数</span></span></h4><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">每道题的原始难度系数：</span></span></p><blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">原始难度系数 = - log(k * Σ(1 / Bi) / T)</span></span></p></blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其中：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">T：此题赛期（天数）；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">k：此题被破解的次数；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">Bi：第 i 个攻击方破解此题的时间。</span></span></p></li></ul><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">将每道题的原始难度系数线性归一化到 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">[0,1]</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，得到该题的</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">原始归一难度系数</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><blockquote><p style="text-align: justify;"><strong><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方积分使用原始归一难度系数进行计算。</span></span></strong></p></blockquote><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.2.2 多解难度系数</span></span></h4><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若题目在赛期内被发现多解，则：</span></span></p><blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">多解难度系数 = 原始难度系数 * (87% ^ n)</span></span></p></blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其中 n 为此题赛期内被发现的多解攻击方团队数量，n 最大按 5 计算。</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">1 个攻击方发现多解：</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">87%</span></span></code></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">2 个攻击方发现多解：</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">75.69%</span></span></code></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">3 个攻击方发现多解：</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">65.8503%</span></span></code></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4 个攻击方发现多解：</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">57.289761%</span></span></code></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">5 个及以上攻击方发现多解：</span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">49.84209207%</span></span></code></p></li></ul><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">将各题多解难度系数再次线性归一化到 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">[0,1]</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;">，得到用于防守方相关计分的</span></span><strong><span leaf=""><span textstyle="" style="font-size: 15px;">难度系数</span></span></strong><span leaf=""><span textstyle="" style="font-size: 15px;">。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">多解或非预期解，是指某个问题或任务存在两个或更多不同的 flag、注册码、序列号或其他有效结果，且这些结果均能够满足题目判定要求。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">赛题赛期结束后，不再接受新的多解提交。</span></span></p><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.3 攻击方积分</span></span></h3><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.3.1 单题基础分</span></span></h4><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方某题的计分基础：</span></span></p><blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">单题基础分 = 出题基本分 50 分 + 此题原始归一难度系数 * 难度加权分 150 分</span></span></p></blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其中，此题原始归一难度系数为该题未计入多解扣分前的归一化难度系数。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">因此：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">最简单的题，其基础分为 50 分；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">最难的题，其基础分为 200 分。</span></span></p></li></ul><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.3.2 破解时间系数</span></span></h4><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">2026 年采用：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__built_in">define</span><span textstyle="" style="font-size: 15px;">(&#39;SCORE_DECAY_RATE&#39;, </span><span class="code-snippet__number">0.7</span><span textstyle="" style="font-size: 15px;">);</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">破解时间系数：</span></span></p><p style="text-align: justify;"><semantics><mrow><msub><mi><span leaf=""><span textstyle="" style="font-size: 15px;">C</span></span></mi><mi><span leaf=""><span textstyle="" style="font-size: 15px;">i</span></span></mi></msub><mo><span leaf=""><span textstyle="" style="font-size: 15px;">=</span></span></mo><mfrac><mrow><msup><mrow><mo fence="true"><span leaf=""><span textstyle="" style="font-size: 15px;">(</span></span></mo><mfrac><msub><mi><span leaf=""><span textstyle="" style="font-size: 15px;">B</span></span></mi><mn><span leaf=""><span textstyle="" style="font-size: 15px;">1</span></span></mn></msub><msub><mi><span leaf=""><span textstyle="" style="font-size: 15px;">B</span></span></mi><mi><span leaf=""><span textstyle="" style="font-size: 15px;">i</span></span></mi></msub></mfrac><mo fence="true"><span leaf=""><span textstyle="" style="font-size: 15px;">)</span></span></mo></mrow><mn><span leaf=""><span textstyle="" style="font-size: 15px;">0.7</span></span></mn></msup><mo><span leaf=""><span textstyle="" style="font-size: 15px;">+</span></span></mo><mn><span leaf=""><span textstyle="" style="font-size: 15px;">1</span></span></mn></mrow><mn><span leaf=""><span textstyle="" style="font-size: 15px;">2</span></span></mn></mfrac></mrow><annotation encoding="application/x-tex"></annotation></semantics><span leaf=""><span textstyle="" style="font-size: 15px;">C_i=\frac{\left(\frac{B_1}{B_i}\right)^{0.7}+1}{2}</span></span><span aria-hidden="true"><span style="margin-right: 0.07153em;"><span leaf=""><span textstyle="" style="font-size: 15px;">C</span></span></span><span style="height: 0.3117em;"><span style="top: -2.55em;margin-left: -0.0715em;margin-right: 0.05em;"><span leaf=""><span textstyle="" style="font-size: 15px;">i</span></span></span></span><span leaf=""><span textstyle="" style="font-size: 15px;">=</span></span><span style="height: 1.5852em;"><span style="top: -2.655em;"><span leaf=""><span textstyle="" style="font-size: 15px;">2</span></span></span><span style="top: -3.7125em;"><span style="top: 0.075em;"><span leaf=""><span textstyle="" style="font-size: 15px;">(</span></span></span><span style="height: 1.0256em;"><span style="top: -2.656em;"><span style="margin-right: 0.05017em;"><span leaf=""><span textstyle="" style="font-size: 15px;">B</span></span></span><span style="height: 0.3448em;"><span style="top: -2.3448em;margin-left: -0.0502em;margin-right: 0.1em;"><span leaf=""><span textstyle="" style="font-size: 15px;">i</span></span></span></span></span><span style="top: -3.5375em;"><span style="margin-right: 0.05017em;"><span leaf=""><span textstyle="" style="font-size: 15px;">B</span></span></span><span style="height: 0.3448em;"><span style="top: -2.3448em;margin-left: -0.0502em;margin-right: 0.1em;"><span leaf=""><span textstyle="" style="font-size: 15px;">1</span></span></span></span></span></span><span style="top: 0.075em;"><span leaf=""><span textstyle="" style="font-size: 15px;">)</span></span></span><span style="height: 1.2467em;"><span style="top: -3.2864em;margin-right: 0.0714em;"><span leaf=""><span textstyle="" style="font-size: 15px;">0.7</span></span></span></span><span leaf=""><span textstyle="" style="font-size: 15px;">+</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">1</span></span></span></span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其中：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><semantics><mrow><msub><mi><span leaf=""><span textstyle="" style="font-size: 15px;">B</span></span></mi><mn><span leaf=""><span textstyle="" style="font-size: 15px;">1</span></span></mn></msub></mrow><annotation encoding="application/x-tex"></annotation></semantics><p><span leaf=""><span textstyle="" style="font-size: 15px;">B_1</span></span><span aria-hidden="true"><span style="margin-right: 0.05017em;"><span leaf=""><span textstyle="" style="font-size: 15px;">B</span></span></span><span style="height: 0.3011em;"><span style="top: -2.55em;margin-left: -0.0502em;margin-right: 0.05em;"><span leaf=""><span textstyle="" style="font-size: 15px;">1</span></span></span></span></span><span style="font-size: 15px;letter-spacing: 0.034em;background-color: transparent;"><span leaf="">：此题一血破解时间；</span></span></p></li><li><semantics><mrow><msub><mi><span leaf=""><span textstyle="" style="font-size: 15px;">B</span></span></mi><mi><span leaf=""><span textstyle="" style="font-size: 15px;">i</span></span></mi></msub></mrow><annotation encoding="application/x-tex"></annotation></semantics><p><span leaf=""><span textstyle="" style="font-size: 15px;">B_i</span></span><span aria-hidden="true"><span style="margin-right: 0.05017em;"><span leaf=""><span textstyle="" style="font-size: 15px;">B</span></span></span><span style="height: 0.3117em;"><span style="top: -2.55em;margin-left: -0.0502em;margin-right: 0.05em;"><span leaf=""><span textstyle="" style="font-size: 15px;">i</span></span></span></span></span><span style="font-size: 15px;letter-spacing: 0.034em;background-color: transparent;"><span leaf="">：当前攻击方破解此题的时间。</span></span></p></li></ul><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.3.3 单题攻击得分</span></span></h4><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方在某一道题上的得分：</span></span></p><blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方得分 = (出题基本分 50 分 + 此题原始归一难度系数 * 难度加权分 150 分) * (((此题一血时间 / 此攻击方破解此题的时间)^0.7 + 1) / 2) * (1 + 一血加分系数)</span></span></p></blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其中，一血加分系数为 10%；若当前攻击方不是此题一血破解者，则一血加分系数为 0。</span></span></p><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">解释</span></span></h4><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">一血破解者的 Bi = B1，时间系数为 1，并额外获得 10% 一血加分；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其他破解者无一血加分，得分随破解时间递减；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">调整为 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">SCORE_DECAY_RATE = 0.7</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 后，降分速度较往年 </span></span><code><span leaf=""><span textstyle="" style="font-size: 15px;">1.0</span></span></code><span leaf=""><span textstyle="" style="font-size: 15px;"> 更平缓；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">当破解时间趋于无限长时，时间系数理论下限仍趋近于 0.5，因此成功破解后理论上最少获得该题基础分的一半；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">如果未破解成功，则此题不得分；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击者在某题上的得分，不因此题出现多解而受影响；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方是否使用 AI 工具辅助分析、解题、脚本编写或 writeup 整理，不影响积分计算，仍以提交有效解题结果的时间为准。</span></span></p></li></ul><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.3.4 攻击方总积分</span></span></h4><blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方总积分 = 攻击方在其成功破解的每道题上的得分之和。</span></span></p></blockquote><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.4 防守方相关积分说明</span></span></h3><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方规则页面同时展示的防守方成绩，按防守方规则计算。</span></span></p><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.4.1 火力值积分</span></span></h4><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">对每道题，分别计算每个破解者的攻击火力系数：</span></span></p><p style="text-align: justify;"><img class="rich_pages wxw-img" data-ratio="0.4621212121212121" data-s="300,640" data-type="png" data-w="264" style="width: 143px;height: auto !important;" type="block" data-imgfileid="311134760" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=8553777f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K358WdchCjj7A5icWTFftcgR9r7xbcrMeDLM4RmS3KMlx6XVd8rVJtI7gPucJ7bMv3WZh6V87Tvg8A17LiceXoSXFa6EHfNZW2I0%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">累计所有破解者的攻击火力系数后：</span></span></p><blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">火力值 = 此题难度系数 * 累计攻击火力系数 * 100</span></span></p></blockquote><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">完全无人破解的题目，火力值为 0；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">除签到题以外，最简单的题难度系数为 0，其火力值也为 0；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">难度较高且有多人破解的题，会获得较高火力值。</span></span></p></li></ul><h4 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.4.2 难度值积分</span></span></h4><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">出题难度值：</span></span></p><blockquote><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">出题难度值 = (出题基本分 50 分 + 难度系数 * 难度加权分 150 分) * (1 + 一血加分系数)</span></span></p></blockquote><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若无人破解此题，一血加分系数为 10%；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若已有攻击方破解成功，一血加分系数为 0；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">一血的定义是题目第一次被破解。</span></span></p></li></ul><h3 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">4.5 排名与同分规则</span></span></h3><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若防守方相关积分相同，以提交题目时间排序，最早提交题目的战队胜出；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若攻击方总积分相同，以攻破题目数量多者胜出；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若攻击方总积分及攻破题目数量均相同，以总破解耗时更短者胜出。</span></span></p></li></ul></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">六、AI 工具使用规则</span></b></p></div></div></div></div></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">6.1 AI 使用总原则</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">本届比赛允许防守方和攻击方使用 AI 工具辅助出题、审计、分析、解题、脚本编写和 writeup 整理。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI 工具仅作为辅助工具，使用方对 AI 生成或辅助生成的内容承担全部责任。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">使用 AI 不改变攻击方积分计算方式，攻击方成绩仍以比赛平台记录的正确 flag、注册码、序列号或其他有效解题结果的提交时间为准。</span></span></p></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">6.2 攻击方允许使用 AI 的范围</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方可以使用 AI 工具辅助解题，包括但不限于：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">逆向分析；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">代码审计；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">漏洞分析；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">EXP 编写；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">脚本编写；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">Crypto 分析；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">WEB 漏洞分析；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">PWN 思路辅助；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">题目理解；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">Writeup 整理；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">自动化分析辅助。</span></span></p></li></ul></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">6.3 AI Agent 和自动化工具限制</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">允许使用 AI Agent 或自动化脚本辅助分析，但不得对比赛平台、靶机或判题系统进行高频、无节制、破坏性或超出题目范围的自动化请求。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">组委会可根据流量、日志、请求频率和实际影响判定是否违规。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">使用 AI 工具不得突破原有比赛边界。凡通过 AI 实施或辅助实施攻击比赛平台、破坏靶机环境、批量爆破、越权访问、泄露 flag、共享答案、攻击非题目目标等行为，均按违规处理。</span></span></p><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">6.4 AI 使用责任与审计</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击方通过 AI 工具获得的分析结果、脚本、payload 或答案，由攻击方自行负责。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">若 AI 输出内容涉及违规攻击、答案泄露、他人 writeup、非授权资料或其他违规来源，攻击方不得以“AI 生成”为由免责。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">不要求攻击方公开完整 prompt 或完整 AI 对话记录，但组委会可根据比赛公平性、安全性及违规调查需要，要求参赛队伍提供必要说明。</span></span></p><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">6.5 AI 相关禁止行为</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">参赛队伍不得利用 AI 工具获取、整理、传播或使用非公开题目、flag、writeup、源码、评审资料、其他队伍解题材料等信息。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">无论相关信息是否由 AI 工具生成、总结或提供，一经确认均按违规处理。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">禁止利用 AI 工具实施以下行为：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击比赛平台；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">破坏比赛环境；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">绕过平台权限；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">批量爆破；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">攻击非题目目标；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">泄露他人信息；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">共享答案；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">获取或传播非公开 flag、writeup、源码、评审资料；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">使用泄露渠道获得答案；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其他违反比赛公平性和安全边界的行为。</span></span></p></li></ul></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">6.6 AI 相关泄露责任</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">因使用 AI 工具导致题目、flag、源码、攻击脚本、账号凭证、评审资料或其他比赛敏感信息泄露的，由使用方自行承担责任。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">造成比赛公平性影响的，组委会有权取消参赛资格、调整成绩或作出其他处理。</span></span></p></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><h2 style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;font-weight: bold;">6.7 组委会解释权</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">AI 工具、AI Agent、AI Security / LLM Security 题型及相关技术发展较快。对于规则未覆盖的新情况，组委会有权根据比赛公平性、安全性、可复现性和比赛精神作出解释和处理。</span></span></p></div><div style="text-align: justify;margin-left: 8px;margin-right: 8px;"><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">七、违规处罚</span></b></p></div></div></div></div><ul style="list-style-type: disc;" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">本比赛要求团队独立作答。在题目赛期结束前，请勿在论坛、微信 / QQ 群等公共场所讨论、传播试题答案、flag、关键解题路径等非公开信息，否则视为作弊；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">请勿相互抄袭，若发现雷同并经组委会认定为抄袭，相关参赛者按作弊处理；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">不得共享答案、flag、注册码、序列号、攻击脚本或其他能够直接影响比赛公平性的非公开材料；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">不得攻击比赛平台、非题目目标或破坏比赛环境；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">作弊者将被取消参赛资格，参赛成绩无效；</span></span></p></li><li><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">其他有悖于比赛精神或扰乱比赛正常进行的行为，比赛委员会有权取消相关参赛资格或作出相应处理。</span></span></p></li></ul></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 15px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">八、奖项&amp;奖品</span></b></p></div></div></div></div><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp270b55i5l" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">本次比赛设置3类奖项：</span></span></p><div><div><div><p><table style="width:448px;"><tbody><tr><td data-colwidth="161"><p><span leaf="" mpa-font-style="mp2bc2422231" style="font-size: 15px;" data-mpa-action-id="mp2bc24j180f" data-pm-slice="0 0 []"><span textstyle="" style="font-weight: bold;">奖项</span></span></p></td><td data-colwidth="287"><p><span leaf="" mpa-font-style="mp2bbzno2uh" style="font-size: 15px;" data-mpa-action-id="mp2bbzo61dbp" data-pm-slice="0 0 []"><span textstyle="" style="font-weight: bold;">说明</span></span></p></td></tr><tr><td data-colwidth="161"><p><span leaf="" mpa-font-style="mp270b55jer" style="font-size: 15px;" data-pm-slice="1 1 [&#34;list&#34;,{&#34;type&#34;:&#34;ul&#34;,&#34;style&#34;:&#34;list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);margin-left: 8px;margin-right: 8px;&#34;,&#34;class&#34;:&#34;list-paddingleft-1&#34;,&#34;start&#34;:null},&#34;listitem&#34;,{&#34;style&#34;:&#34;&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">最佳坦克奖</span></span></p></td><td data-colwidth="287"><p><span leaf="" mpa-font-style="mp270b55jer" style="font-size: 15px;" data-pm-slice="1 1 [&#34;list&#34;,{&#34;type&#34;:&#34;ul&#34;,&#34;style&#34;:&#34;list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);margin-left: 8px;margin-right: 8px;&#34;,&#34;class&#34;:&#34;list-paddingleft-1&#34;,&#34;start&#34;:null},&#34;listitem&#34;,{&#34;style&#34;:&#34;&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">最能抗的</span></span></p></td></tr><tr><td data-colwidth="161"><p><span leaf="" mpa-font-style="mp270b5514uj" style="font-size: 15px;" data-pm-slice="1 1 [&#34;list&#34;,{&#34;type&#34;:&#34;ul&#34;,&#34;style&#34;:&#34;list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);margin-left: 8px;margin-right: 8px;&#34;,&#34;class&#34;:&#34;list-paddingleft-1&#34;,&#34;start&#34;:null},&#34;listitem&#34;,{&#34;style&#34;:&#34;&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">火力焦点奖</span></span></p></td><td data-colwidth="287"><p><span leaf="" mpa-font-style="mp270b5514uj" style="font-size: 15px;" data-pm-slice="1 1 [&#34;list&#34;,{&#34;type&#34;:&#34;ul&#34;,&#34;style&#34;:&#34;list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);margin-left: 8px;margin-right: 8px;&#34;,&#34;class&#34;:&#34;list-paddingleft-1&#34;,&#34;start&#34;:null},&#34;listitem&#34;,{&#34;style&#34;:&#34;&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">实际吸收伤害最多的</span></span></p></td></tr><tr><td data-colwidth="161"><p><span leaf="" mpa-font-style="mp270b55w9v" style="font-size: 15px;" data-pm-slice="1 1 [&#34;list&#34;,{&#34;type&#34;:&#34;ul&#34;,&#34;style&#34;:&#34;list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);margin-left: 8px;margin-right: 8px;&#34;,&#34;class&#34;:&#34;list-paddingleft-1&#34;,&#34;start&#34;:null},&#34;listitem&#34;,{&#34;style&#34;:&#34;&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">精致奖</span></span></p></td><td data-colwidth="287"><p><span leaf="" mpa-font-style="mp270b55w9v" style="font-size: 15px;" data-pm-slice="1 1 [&#34;list&#34;,{&#34;type&#34;:&#34;ul&#34;,&#34;style&#34;:&#34;list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);margin-left: 8px;margin-right: 8px;&#34;,&#34;class&#34;:&#34;list-paddingleft-1&#34;,&#34;start&#34;:null},&#34;listitem&#34;,{&#34;style&#34;:&#34;&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: justify;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">题目短小并且最能抗的</span></span></p></td></tr></tbody></table></p></div></div></div><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp270b55i5l" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">8.1 防守方奖项</span></span></p><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp270b5587a" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">防守方奖项设3类：最佳坦克奖、火力焦点奖、精致奖</span></span></p><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp290ioj1g3i" style="font-size: 14px;" data-mpa-action-id="mp290ip0xhs" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">*奖品价值：最佳坦克奖&gt;火力焦点奖&gt;精致奖</span></span></p><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp270b55p3k" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">同一战队获奖类型，不可重复。若已获得靠前类别奖项，则不参与后续的评定。</span></span></p><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp270b55h0x" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">解释：</span></span></p><ul style="list-style-type: disc;padding-left: 1.2em;color: rgb(37, 37, 37);margin-left: 8px;margin-right: 8px;" class="list-paddingleft-1"><li><p style="text-align: justify;"><span leaf="" mpa-font-style="mp270b55156j" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">若获得最佳坦克奖，则不参与火力焦点奖、精致奖评定</span></span></p></li><li><p style="text-align: justify;"><span leaf="" mpa-font-style="mp270b55b7c" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">若获得火力焦点奖，则不参与精致奖评定</span></span></p></li><li><p style="text-align: justify;"><span leaf="" mpa-font-style="mp270b551t4n" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">同时，该类别奖项将按名次顺延给下一战队。</span></span></p></li></ul><div style="font-size: 15px;line-height: 1.6;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px -22px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(39, 47, 223) 14%, rgb(40, 23, 199) 85%);min-width: 5%;max-width: 100%;height: auto;line-height: 0.4;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 3px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;font-size: 14px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">最佳坦克奖</span></strong></p></div></div></div></div></div><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);margin: 9px 0px 0px;min-width: 5%;max-width: 100%;height: auto;padding: 3px 3px 3px 0px;overflow: hidden;border-top-right-radius: 145px;border-bottom-right-radius: 145px;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;width: 100%;align-self: flex-start;background-color: rgb(255, 255, 255);overflow: hidden;padding: 0px 16px 0px 9px;border-top-right-radius: 155px;border-bottom-right-radius: 155px;box-sizing: border-box;"><div style="text-align: center;width: 100%;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(56, 42, 200);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">01</span></strong></p></div></div></div></div></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;width: 100%;align-self: flex-start;border-style: solid;border-width: 0px;border-color: rgb(218, 229, 165);padding: 2px;height: auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;width: 100%;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 16px;background-color: rgb(255, 255, 255);box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;border-style: solid;border-width: 0px;border-color: rgb(255, 255, 255);width: 80%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.75" data-s="300,640" data-type="png" data-w="964" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311131234" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=1e4f4994&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3FfsGJUDYcEORRc8ibFQNt3m1bts293YDAIMX5ib0PywDnoO9PmhKlicdUE5yRs3rhb48RDFiau7Vwuf4LZtf7MnzbibCxc0LWsiceI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;font-size: 14px;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">DJI Osmo 360 运动相机</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><a href="https://item.jd.com/100294609524.html" target="_blank">https://item.jd.com/100294609524.html</a></span></p></div></div></div></div><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px -22px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(39, 47, 223) 14%, rgb(40, 23, 199) 85%);min-width: 5%;max-width: 100%;height: auto;line-height: 0.4;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 3px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;font-size: 14px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">火力焦点奖</span></strong></p></div></div></div></div></div><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);margin: 9px 0px 0px;min-width: 5%;max-width: 100%;height: auto;padding: 3px 3px 3px 0px;overflow: hidden;border-top-right-radius: 145px;border-bottom-right-radius: 145px;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;width: 100%;align-self: flex-start;background-color: rgb(255, 255, 255);overflow: hidden;padding: 0px 16px 0px 9px;border-top-right-radius: 155px;border-bottom-right-radius: 155px;box-sizing: border-box;"><div style="text-align: center;width: 100%;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(56, 42, 200);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">02</span></strong></p></div></div></div></div></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;width: 100%;align-self: flex-start;border-style: solid;border-width: 0px;border-color: rgb(218, 229, 165);padding: 2px;height: auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;width: 100%;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 16px;background-color: rgb(255, 255, 255);box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;border-style: solid;border-width: 0px;border-color: rgb(255, 255, 255);width: 80%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.750253807106599" data-s="300,640" data-type="png" data-w="985" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311131235" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=1ae1d0ba&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K230ic6fB58xawH8MhnjClkpDTI9UHxplEBlSA7BSUnMTFvdgqCq1FWApJwL2qQBAYHUMFfkj0vib5tiaepUUr1kicUWWrtjZ3hGvk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">布鲁克斯（BROOKS）Ghost幽灵Max3跑鞋 <a href="https://item.jd.com/100245770842.html" target="_blank">https://item.jd.com/100245770842.html</a></span></p></div></div></div></div><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px -22px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(39, 47, 223) 14%, rgb(40, 23, 199) 85%);min-width: 5%;max-width: 100%;height: auto;line-height: 0.4;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 3px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;font-size: 14px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">精致奖</span></strong></p></div></div></div></div></div><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);margin: 9px 0px 0px;min-width: 5%;max-width: 100%;height: auto;padding: 3px 3px 3px 0px;overflow: hidden;border-top-right-radius: 145px;border-bottom-right-radius: 145px;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;width: 100%;align-self: flex-start;background-color: rgb(255, 255, 255);overflow: hidden;padding: 0px 16px 0px 9px;border-top-right-radius: 155px;border-bottom-right-radius: 155px;box-sizing: border-box;"><div style="text-align: center;width: 100%;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(56, 42, 200);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">03</span></strong></p></div></div></div></div></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;width: 100%;align-self: flex-start;border-style: solid;border-width: 0px;border-color: rgb(218, 229, 165);padding: 2px;height: auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;width: 100%;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 16px;background-color: rgb(255, 255, 255);box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="vertical-align: middle;display: inline-block;line-height: 0;border-style: solid;border-width: 0px;border-color: rgb(255, 255, 255);width: 80%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.75" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311131236" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=bae6f538&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K1aI25aMET6c8yC3XpW7G2zclfW3Mu4dvN1q7ibedAfzxlT7ISqib1lPtvGV6YowbafXSFIvFFAGga0YzTetzvcZy9HqHpzf6eGA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">索尼（SONY）Float Run 运动耳机 <a href="https://item.jd.com/100044848672.html" target="_blank">https://item.jd.com/100044848672.html</a></span></p></div></div></div></div></div><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">8.2 攻击方奖项</span></span></p><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp270b55l5n" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">根据攻击方获得的 “攻击方积分”进行排名，取前一、二、三名，分别对应一等奖、二等奖、三等奖。</span></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px -22px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(39, 47, 223) 14%, rgb(40, 23, 199) 85%);min-width: 5%;max-width: 100%;height: auto;line-height: 0.4;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 3px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="font-size: 14px;color: rgb(255, 255, 255);line-height: 1;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">一等奖（攻击方第1名）</span></strong></p></div></div></div></div></div><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);margin: 9px 0px 0px;min-width: 5%;max-width: 100%;height: auto;padding: 3px 3px 3px 0px;overflow: hidden;border-top-right-radius: 145px;border-bottom-right-radius: 145px;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;width: 100%;align-self: flex-start;background-color: rgb(255, 255, 255);overflow: hidden;padding: 0px 16px 0px 9px;border-top-right-radius: 155px;border-bottom-right-radius: 155px;box-sizing: border-box;"><div style="text-align: center;width: 100%;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(56, 42, 200);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">01</span></strong></p></div></div></div></div></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;width: 100%;align-self: flex-start;border-style: solid;border-width: 0px;border-color: rgb(218, 229, 165);padding: 2px;height: auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;width: 100%;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 16px;background-color: rgb(255, 255, 255);box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="vertical-align: middle;display: inline-block;line-height: 0;border-style: solid;border-width: 0px;border-color: rgb(255, 255, 255);width: 80%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.75" data-s="300,640" data-type="png" data-w="964" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311131231" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=40e7af05&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K3haqxRffQ2WZGlrV3Mib06t44yDIRCbGXVJr4ANS75lo5IicUFiaTDAib35c4Mian3vPoal8yMrFvTozLPq4DibaaTFJQIF7XYPibpGo%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;font-size: 14px;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">DJI Osmo 360 运动相机</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><a href="https://item.jd.com/100294609524.html" target="_blank">https://item.jd.com/100294609524.html</a></span></p></div></div></div></div><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px -22px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(39, 47, 223) 14%, rgb(40, 23, 199) 85%);min-width: 5%;max-width: 100%;height: auto;line-height: 0.4;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 3px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;font-size: 14px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">二等奖（攻击方第2名）</span></strong></p></div></div></div></div></div><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);margin: 9px 0px 0px;min-width: 5%;max-width: 100%;height: auto;padding: 3px 3px 3px 0px;overflow: hidden;border-top-right-radius: 145px;border-bottom-right-radius: 145px;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;width: 100%;align-self: flex-start;background-color: rgb(255, 255, 255);overflow: hidden;padding: 0px 16px 0px 9px;border-top-right-radius: 155px;border-bottom-right-radius: 155px;box-sizing: border-box;"><div style="text-align: center;width: 100%;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(56, 42, 200);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">02</span></strong></p></div></div></div></div></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;width: 100%;align-self: flex-start;border-style: solid;border-width: 0px;border-color: rgb(218, 229, 165);padding: 2px;height: auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;width: 100%;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 16px;background-color: rgb(255, 255, 255);box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;border-style: solid;border-width: 0px;border-color: rgb(255, 255, 255);width: 80%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.750253807106599" data-s="300,640" data-type="png" data-w="985" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311131233" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=6fdb19d9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2hR9580tCfcM6FvrPLK54RTBrsibQlTqCVjmsNV84ucCEticloKiaOo8mJKeYlG84CbkVLouDiaJFw4kicDkeoX4iatlGfOvVkDmpCs%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;font-size: 14px;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">布鲁克斯（BROOKS）Ghost幽灵Max3跑鞋 <a href="https://item.jd.com/100245770842.html" target="_blank">https://item.jd.com/100245770842.html</a></span></p></div></div></div></div><div style="display: flex;width: 100%;flex-flow: column;box-sizing: border-box;"><div style="z-index: 1;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px -22px;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(39, 47, 223) 14%, rgb(40, 23, 199) 85%);min-width: 5%;max-width: 100%;height: auto;line-height: 0.4;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 3px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 0px 10px;box-sizing: border-box;"><div style="text-align: center;box-sizing: border-box;"><div style="color: rgb(255, 255, 255);line-height: 1;font-size: 14px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">三等奖（攻击方第3名）</span></strong></p></div></div></div></div></div><div style="display: inline-block;vertical-align: top;width: auto;align-self: stretch;flex: 0 0 auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);margin: 9px 0px 0px;min-width: 5%;max-width: 100%;height: auto;padding: 3px 3px 3px 0px;overflow: hidden;border-top-right-radius: 145px;border-bottom-right-radius: 145px;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;width: 100%;align-self: flex-start;background-color: rgb(255, 255, 255);overflow: hidden;padding: 0px 16px 0px 9px;border-top-right-radius: 155px;border-bottom-right-radius: 155px;box-sizing: border-box;"><div style="text-align: center;width: 100%;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(56, 42, 200);width: 100%;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">03</span></strong></p></div></div></div></div></div></div></div><div style="text-align: center;justify-content: center;display: flex;flex-flow: row;margin: 10px 0px;width: 100%;align-self: flex-start;border-style: solid;border-width: 0px;border-color: rgb(218, 229, 165);padding: 2px;height: auto;background-image: linear-gradient(90deg, rgb(157, 154, 223) 13%, rgb(57, 39, 223) 50%, rgb(120, 145, 200) 89%);box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;width: 100%;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 16px;background-color: rgb(255, 255, 255);box-sizing: border-box;"><div style="text-align: center;margin: 0px 0px 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;border-style: solid;border-width: 0px;border-color: rgb(255, 255, 255);width: 80%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.75" data-s="300,640" data-type="png" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311131232" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=48cc237a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FCpo2XCpI7K18GJ5gVLWnfQzMmQrbfFDrxiccEvXQ23mZWWmUo82M51ZE0CBTt5YYiaC5rdp1ogbZCx7lJVFOyaDPjE0icwL5Ju1tYMGbqBXlMI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div style="text-align: center;font-size: 14px;color: rgb(39, 47, 223);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">索尼（SONY）Float Run 运动耳机</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><a href="https://item.jd.com/100044848672.html" target="_blank">https://item.jd.com/100044848672.html</a></span></p></div></div></div></div></div><h2 style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span mpa-font-style="mp270b551mwt"><span leaf="" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">8.3 幸运奖</span></span></span></h2><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp270b5520k2" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">评选战队：防守方（未得奖战队）+攻击方（第4～10名）</span></span></p><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" mpa-font-style="mp270b55azf" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">奖品：看雪·2026 定制周边T恤（每个战队1件）</span></span></p><div data-pm-slice="3 3 []"><div style="font-size: 15px;letter-spacing: 1px;padding: 0px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: auto;vertical-align: top;align-self: flex-start;flex: 0 0 auto;padding: 8px 12px;min-width: 5%;max-width: 100%;height: auto;background-image: linear-gradient(to top, rgb(223, 233, 243) 0%, white 100%);box-sizing: border-box;"><div style="text-align: justify;color: rgb(39, 47, 223);font-size: 14px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><b style="box-sizing: border-box;"><span leaf="">九、KCTF2026评委团队</span></b></p></div></div></div></div><p style="text-align: justify;margin-left: 8px;margin-right: 8px;"><span leaf="" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">评委成员：kanxue、gjden、Editor</span></span></p><p style="text-align: right;margin-left: 8px;margin-right: 8px;"><span leaf="" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">KCTF 2026 组委会</span></span></p><p style="text-align: right;margin-left: 8px;margin-right: 8px;"><span leaf="" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">2026/08/07</span></span></p></div><div style="font-size: 15px;line-height: 1.6;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 50%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.034482758620689655" data-s="300,640" data-type="gif" data-w="580" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311131237" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=d850e590&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCpo2XCpI7K15ZzsY1v4FDnsOXyEoibpeJcBiaPCiaqSBDSK2pWB27FX8yxFfhuxYmOSUy6OeZJbAibicj066aoFOpuPHVNWicUQDzPFVicxtaV7JXg%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div></div><div style="font-size: 15px;line-height: 1.6;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;margin: 10px 0px 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="justify-content: flex-start;display: flex;flex-flow: row;margin: 0px;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;align-self: flex-start;flex: 0 0 auto;border-style: solid;border-width: 1px 1px 0px;border-color: rgb(39, 47, 223);padding: 21px;box-sizing: border-box;"><div style="margin: 0px;box-sizing: border-box;"><div style="text-align: justify;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf=""><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">看雪CTF（简称KCTF）是圈内知名度最高的技术竞技之一，从原CrackMe攻防大赛中发展而来，采取线上PK的方式，规则设置严格周全，题目涵盖Windows、Android、iOS、Pwn、智能设备、Web等众多领域。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf="" mpa-font-style="mp270b5523j8" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">KCTF采取动态积分模式，使每道题的分数随着赛事的发展而变化，比赛结束的分数才能决定最终比赛结果。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf="" mpa-font-style="mp270b551j9y" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">看雪CTF比赛分为两个阶段：</span></span><span leaf="" mpa-font-style="mp270b551yum" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">第一阶段是防守篇，防守方根据比赛要求制作题目，根据题目在比赛中的得分评选优胜者。</span></span><span leaf="" mpa-font-style="mp270b553j2" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">第二阶段为攻击篇，攻击第一阶段的题目，攻击成功题目后获得相应的攻击得分。累计攻击方在每道题上的攻击得分以获得攻击方总得分，并评选优胜者。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf="" mpa-font-style="mp270b55u2j" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">既给了防守方足够的施展空间，也避免过度浪费攻击方的时间。从攻防两个角度看，都是个难得的竞技和学习机会。</span></span></p><p style="text-align: justify;margin-left: 0px;margin-right: 0px;"><span leaf="" mpa-font-style="mp270b551smo" style="font-size: 15px;"><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);">KCTF比赛历史悠久、影响广泛。自2007年以来，看雪已经举办十多个比赛，与包括金山、腾讯安全、腾讯TSRC、360、阿里、京东、WiFi万能钥匙、安恒、深信服、众安科技等在内的各大公司共同合作举办赛事。比赛吸引了国内一大批安全人士的广泛关注，历年来CTF中人才辈出，汇聚了来自国内众多安全人才，高手对决，精彩异常，成为安全圈的一次比赛盛宴，突出了看雪论坛复合型人才多的优势，成为企业挑选人才的重要途径，在社会安全事业发展中产生了巨大的影响力。</span></span></p></div></div></div></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;"><img alt="图片" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="other" data-w="640" style="-webkit-tap-highlight-color: transparent;outline: 0px;border-style: none;color: rgb(102, 102, 102);font-family: 微软雅黑;font-size: 15px;letter-spacing: 0.544px;widows: 1;display: inline;width: 661px !important;visibility: visible !important;height: auto !important;" width="661px" data-backw="562" data-backh="263" data-copyright="0" data-fileid="100035996" data-imgfileid="311109982" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=e6b64b01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FUia4617poZXP96fGaMPXib13V1bJ52yHq9ycD9Zv3WhiaRb2rKV6wghrNa4VyFR2wibBVNfZt3M5IuUiauQGHvxhQrA%2F640%3Fwx_fmt%3Dother%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1%26tp%3Dwebp"/></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311111351" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 13px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311111352" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.8808777429467085" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311111353" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;"><img class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;height: auto !important;" data-imgfileid="311111354" data-aistatus="1" src="https://wechat2rss.xlab.app/img-proxy/?k=6ec9988e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpUHZDmkBpJ4khdIdVhiaSyOkxtAWuxJuTAs8aXISicVVUbxX09b1IWK0g%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 15px;box-sizing: border-box;"><span leaf="">点击阅读原文查看更多</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://bbs.kanxue.com/thread-292346.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=87c9296e&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618432%26idx%3D1%26sn%3De41a435b6f32dfbc90eea7a9dcea1b8f">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sat, 08 Aug 2026 17:59:00 +0800</pubDate>
    </item>
    <item>
      <title>Intel 酷睿 CPU Management Engine 固件研究与分析逆向：实战DCI链接与ME解锁尝试</title>
      <link>https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458618431&amp;idx=1&amp;sn=6fb037cb1e411b795256e427858c349c</link>
      <description>看雪论坛作者ID：BitWarden</description>
      <content:encoded><![CDATA[<p><span>BitWarden</span> <span>2026-08-07 18:09</span> <span style="display: inline-block;">上海</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=4e74fc53&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0GfIOGw1wKQvITpcRDZ3cwIfrPf83KDrDgV9lwhe5CicG0bGib3rhJXx0LV7oBWCOUmV2kTNzHqHzpa8AMMJVFXW54YqcSXagUs%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>看雪论坛作者ID：BitWarden</p>
  <div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;"><h1 style="text-align: justify;"><span leaf="" style="color: rgba(0, 0, 0, 0.9);font-size: 17px;font-family: mp-quote, &#34;PingFang SC&#34;, system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.6;letter-spacing: 0.034em;font-style: normal;font-weight: normal;"><span textstyle="" style="font-size: 15px;">此帖是记录笔者研究Intel Management Engine 以及 Intel-SA-00086 安全漏洞的记录。说结论：当前只能说解锁了一半，暂时还没有找到一个能完全解锁ME的路径。我会把我研究的所有过程和思路都展示出来，各位师傅如有兴趣，可以一起来研究。</span></span></h1><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="display: flex;flex-flow: row;text-align: center;justify-content: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;flex: 0 0 auto;align-self: flex-end;min-width: 10%;max-width: 100%;height: auto;border-bottom: 1px solid rgb(55, 113, 187);border-bottom-right-radius: 0px;padding: 0px 5px 5px;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;background-color: rgba(55, 113, 187, 0.09);padding: 0px 10px;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="margin: 0px 0%;box-sizing: border-box;"><div style="font-size: 16px;color: rgb(55, 113, 187);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">平台</span></strong></p></div></div></div></div></div></div></div></div><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">平台选择我更换了成了Z270但是实际上Z370也是一样得没区别，所以没必要去追低版本。之前Z370平台被我弄坏了也可能是二手质量太差。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">主板：华硕 Z270 - A</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">CPU: I5 7400</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">展示一下新的平台：</span></span><span leaf=""><br/></span><span leaf=""><img alt="图片描述" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="311134486" data-ratio="0.75" style="max-width: 100%;" data-type="webp" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=6b97fa5a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2C8LwaVSTWaQHEicTwQZS8Qaeg3oe18xicvod7FKxibYNEw3oetCXaSv426Xm2ibmC8Cg7Tibyj1VEB322YfbZSiaLsM9icj8PRljLZk%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="display: flex;flex-flow: row;text-align: center;justify-content: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;flex: 0 0 auto;align-self: flex-end;min-width: 10%;max-width: 100%;height: auto;border-bottom: 1px solid rgb(55, 113, 187);border-bottom-right-radius: 0px;padding: 0px 5px 5px;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;background-color: rgba(55, 113, 187, 0.09);padding: 0px 10px;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="margin: 0px 0%;box-sizing: border-box;"><div style="font-size: 16px;color: rgb(55, 113, 187);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">DCI链接</span></strong></p></div></div></div></div></div></div></div></div><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">上一章主要讲解了ME解包以及Bios固件得DCI解锁手法但是由于没有展示完全得实战过程，有些师傅对我得手法和思路有些质疑，所以我重点讲解一下我是如何链接DCI。</span></span></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">软环搭建</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">我们要调试CPU需要安装Intel System Studio 2019，这个版本在看雪有人发过。（如有需要可以私信我我发你网盘）。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第一个坑：这个软件实际上是基于win7开发的，最好是在win7环境下运行。如果在win10上需要打开安装软件请设置兼容模式。</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.9186440677966101" data-type="webp" data-w="295" style="max-width: 100%;" data-imgfileid="311134482" src="https://wechat2rss.xlab.app/img-proxy/?k=169ebda3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0KNM53vFWPVKsePhTWicqO0nA173dZMSmpk7VU3aPDjd1msKhZKLtUEurQacfgCRIj0R1Klv2fwiaJ3RxWzrBRbsLibewUIuZDtM%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">软件只需要安装这个即可：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="1.3" data-type="webp" data-w="500" style="max-width: 100%;" data-imgfileid="311134485" src="https://wechat2rss.xlab.app/img-proxy/?k=650c8f3c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K0qicUpGPc3Xa0FgLciciagOa9EjOyPjvr7C2acCFiclxLXSpyz9uXicXV1BVMJKaaRAcYAhQ9FoPKw7xbdT1iciaN8icMjYGUgicbUDQ0w%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">需要注意安装Intel System Debugger 2019 需要安装Net3.5可以去微软官网下载这里就不介绍了。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">在win11环境下安装会提示没有安装win7的安全补丁导致无法进行，我通过逆向分析发现有一个参数可以关闭这个检查。</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.9893390191897654" data-type="webp" data-w="469" style="max-width: 100%;" data-imgfileid="311134484" src="https://wechat2rss.xlab.app/img-proxy/?k=3a855fb7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0qaJmVhhTibgazPrqB8Xb09c8g4Pup0gCBk1ia5LqbEYm9qLV3fuQwgB5LWzmG71Z25iaibW57UNV2EXJqMWxuibbFHzTn3e4Am0Ew%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">如图会弹出这个提示，在运行的时候加 --noprereq 不会有问题了。</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">过掉环境检测后他会有一个License的校验</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.8561797752808988" data-type="webp" data-w="445" style="max-width: 100%;" data-imgfileid="311134483" src="https://wechat2rss.xlab.app/img-proxy/?k=cfeb659d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K1yOo8oQFpAic6NIibicpzty8ee0FesSc5NVUyiaFLxictK3QERzzNlgvAam7GcSSgwib2WAicO6Eoc5BBdsmF0MLxKHWHY3ViaEsexQy8%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">虽然公开资料里面附带一个License文件但是window版本是没法用的失效状态，这里我逆向了一下他的校验机制。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">核心的校验代码在issa.dll 中，</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.025925925925926" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134509" src="https://wechat2rss.xlab.app/img-proxy/?k=22439e3e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K2vf0ORevCIibjXwKjZJvj0rEq66gcqDWodQorNRLict9mrSfnVPibF3jicMvQqFGQPo3Vw2R5HwNEu6kgGC7PnYgT2tahMn0micgsg%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: justify;"><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.4981640146878825" data-type="webp" data-w="817" style="max-width: 100%;" data-imgfileid="311134491" src="https://wechat2rss.xlab.app/img-proxy/?k=fd50c1a9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K1ribAKp97oykuasko02YKD63xUjV9icEvNxMaZgaf7s64eltvCQAJvtiaZxDVbPqqqgib3GYyEdOA7LWxuHReFUaT7okMOKG1zMms%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">如图我拿其中一个展示一下，主要就是这三个函数用来校验，都是导出函数没什么好介绍的直接patch后，替换进去校验就行了。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">安装完我们的调试软件后还需要安装我们的驱动组件，我这里直接从iso里面提取出来，我会发到附件里面去。</span></span></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">配置链接</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">安装完会生成如下两个目录：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.05889281507656066" data-type="webp" data-w="849" style="max-width: 100%;" data-imgfileid="311134489" src="https://wechat2rss.xlab.app/img-proxy/?k=d1743146&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0qRxcBicQpF8vXmczHCEBOuLqEcZIzaOMUM85jiby4uPIBv0AJKewI2BEa6sqtFReHTibxvYEJtJZdHBIibXYlSygdzLtz7xGrR8g%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">首先需要打开 ConfigConsole 软件用来配置DCI链接：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.6441631504922645" data-type="webp" data-w="711" style="max-width: 100%;" data-imgfileid="311134490" src="https://wechat2rss.xlab.app/img-proxy/?k=8833460a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0pZdPTOXstrKzwjEGUiagyG8icVdt49s9sdtQfGuMFKyMkPeibkAeD1exRN8CTibD9AITXibvia3lhmUfrN1YXtTI7Q6LGYUQdp8TOs%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">首先根据你的平台和版本的不同进行配置：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="1.04" data-type="webp" data-w="425" style="max-width: 100%;" data-imgfileid="311134488" src="https://wechat2rss.xlab.app/img-proxy/?k=94afed8b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K1jvk0qgrI8ajI2kzOMal8BwJeEEeuxYTPWIcTUjPibM9H1s9B7uU7DSW8y8y2JKtPsHJRph7LXVMBLMXGfgXWoAic2hGVZwrVNM%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">根据配置名分析：</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">KBL是Kaby Lake CPU</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;"> OpenDCI也就是DCI线缆链接</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;"> SPT 指的是200系主板</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">DBC 指的就是 Debug Class 也就是我们这种线缆链接。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">选择完后就可以直接点右上角链接即可。</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.5" data-type="webp" data-w="706" style="max-width: 100%;" data-imgfileid="311134487" src="https://wechat2rss.xlab.app/img-proxy/?k=d99be86d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0zKOVvVYEp31I1JXDwicOibicbns7qbyRzO65AhBfDiboibPTc6LtX0khiczPFVnU9BBKGa2W9hG36YTQJNUH9Fjv98AfAoBDnOfHyw%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">CLI调试</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">在DAL_1.1839.428.110目录下找到：</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">PythonConsole.cmd，运行就可以打开我们的DCI调试的界面了。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这个主要是Python2.7作为CLI的基础。</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.2784090909090909" data-type="webp" data-w="880" style="max-width: 100%;" data-imgfileid="311134495" src="https://wechat2rss.xlab.app/img-proxy/?k=9c0de8c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1sIXLlkLdpuPIXW9aDgd9tO5cZf6Sicg8qgI8vVlVwvDSEKvGiajorUYPwboeJjsCHoGLDzEhBKoGOP569NfYVZbAcdNftovJJU%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">通过help()函数和dir的帮助。以及AI辅助后大概了解了一些基础命令：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__comment"># 逻辑设备</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">itp.cores</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">itp.boxes</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">itp.chipsets</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">itp.threads</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># halt 测试</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">itp.halt()</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">itp.halt() 在当前状态下，直接调用这个函数会直接超时，cpu会拒绝。</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">The requested operation has timed </span><span class="code-snippet__keyword">out</span></span></code></pre></p><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="display: flex;flex-flow: row;text-align: center;justify-content: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;flex: 0 0 auto;align-self: flex-end;min-width: 10%;max-width: 100%;height: auto;border-bottom: 1px solid rgb(55, 113, 187);border-bottom-right-radius: 0px;padding: 0px 5px 5px;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;background-color: rgba(55, 113, 187, 0.09);padding: 0px 10px;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="margin: 0px 0%;box-sizing: border-box;"><div style="font-size: 16px;color: rgb(55, 113, 187);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">UTOK</span></strong></p></div></div></div></div></div></div></div></div><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这个发现是我之前逆向ME固件的时候的一个意外发现。</span></span></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">ME 启动流程</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这里我整理了一个图展示一下</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">上电</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;"> │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;"> ▼</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">┌─────────────────────┐</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  </span><span class="code-snippet__variable">ROM</span><span textstyle="" style="font-size: 15px;"> (</span><span class="code-snippet__variable">PCH</span><span textstyle="" style="font-size: 15px;"> 内固化)    │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  验签 </span><span class="code-snippet__variable">FTPR</span><span textstyle="" style="font-size: 15px;"> → 解压 </span><span class="code-snippet__variable">RBE</span><span textstyle="" style="font-size: 15px;"> │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">└──────────┬──────────┘</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">           │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">           ▼</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">┌─────────────────────┐</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  </span><span class="code-snippet__variable">RBE</span><span textstyle="" style="font-size: 15px;">                 │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  初始化 </span><span class="code-snippet__variable">PCH</span><span textstyle="" style="font-size: 15px;">/</span><span class="code-snippet__variable">SPI</span><span textstyle="" style="font-size: 15px;">       │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  </span><span class="code-snippet__variable">UTOK</span><span textstyle="" style="font-size: 15px;"> 校验 / boot_cfg │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  加载 kernel+syslib   │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  +bup 到 </span><span class="code-snippet__variable">SRAM</span><span textstyle="" style="font-size: 15px;">         │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  </span><span class="code-snippet__title">Hash</span><span textstyle="" style="font-size: 15px;"> 验证            │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">└──────────┬──────────┘</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">           │ jmp kernel entry</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">           ▼</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">┌─────────────────────┐</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  kernel              │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  </span><span class="code-snippet__title">Thread</span><span textstyle="" style="font-size: 15px;">X </span><span class="code-snippet__variable">RTOS</span><span textstyle="" style="font-size: 15px;"> 启动    │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  启动 user process </span><span class="code-snippet__comment">#1 │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">└──────────┬──────────┘</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">           │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">           ▼</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">┌─────────────────────┐</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  </span><span class="code-snippet__variable">BUP</span><span textstyle="" style="font-size: 15px;"> (user </span><span class="code-snippet__built_in">proc</span><span class="code-snippet__comment">#1)  │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  硬件 bringup         │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  读 boot_cfg → 开 </span><span class="code-snippet__variable">DCI</span><span textstyle="" style="font-size: 15px;"> │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">│  </span><span class="code-snippet__variable">HECI</span><span textstyle="" style="font-size: 15px;"> / </span><span class="code-snippet__variable">DID</span><span textstyle="" style="font-size: 15px;"> / </span><span class="code-snippet__variable">PTT</span><span textstyle="" style="font-size: 15px;">     │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">└──────────┬──────────┘</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">           │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">           ▼</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  pm / vfs / heci /</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  crypto / storage / ...</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  (</span><span class="code-snippet__number">38</span><span textstyle="" style="font-size: 15px;"> 个 user processes)</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">在这个里面我发现了UTOK模块，根据AI查询后的解释是：</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">UTOK = Unlock Token ← Intel 为 OEM 留的&#34;后门&#34;解锁机制，作用：无需硬件熔丝，通过 SPI Flash 写入数据 → 解锁 DFX 调试接口</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">位置：SPI Flash 的 FPT 分区表中一个独立分区。这方面我确实不是很了解暂时先信任一下。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">根据分析来看：</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">我整理一下UTOK的整个流程</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8407407407407408" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134510" src="https://wechat2rss.xlab.app/img-proxy/?k=8cf5ff69&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1Va3rPU7ZLWb7libgzaNF2bBJc3hEPicC84wxrKTib77X7rY6qRibFwV5uibSHR0lsKTofJLVOnESePz6nuXucwKPQZLFS11SeQ7ss%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">我拿出最核心的检测调试区判断作为例子如下图：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.45092592592592595" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134496" src="https://wechat2rss.xlab.app/img-proxy/?k=3f7feac9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2FfNxg4oAOwD3rKKwhjI2iced32ibHiaATYtNF29rrpiccbnNGLuWYyFicRic7MtnicLKdiav6dLib8eJXicbWU4c06TZlWXM0Se14uWBr8%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">UTKO区域定位</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">通过逆向分析，rbe_utok_check一开始是会拿到fpt区域</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.17592592592592593" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134494" src="https://wechat2rss.xlab.app/img-proxy/?k=fad667ca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2Fnb2icQicqU33NE3tmCyaZgaWiaqakdZM4OA3x6NkuKgZgvZicGHPI73G9UDJhbH4pFJOpcZb73ibFibbQaTj2yAI8S613oKF3kZNs%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">me的运行base是0x4000所以说字符串是2ad4如下图，UTKO首先会定位fpt区域</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.08981481481481482" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134493" src="https://wechat2rss.xlab.app/img-proxy/?k=fa4394ec&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K14NSS65icic8JDGs5BAdcRnzLdCGRePVRQnFmp1Fv0YhZyFasicywRY4cMtGIEmHokYibgz0QctBjG7KltB5fPwldtwNdG9QPNTicU%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.4148148148148148" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134492" src="https://wechat2rss.xlab.app/img-proxy/?k=e45fe6c6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K2I7s8Xx8wBG9jvTsgUgeFTHHxvUKwHceo5hwdKnYXvyDbE3o38S27U3LKXBWia57BbfnZuiaDGcriaV4icqX7DO1qOoEG1Eu5Tjew%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">函数内部是一个链表，链表结构如下：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.48703703703703705" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134499" src="https://wechat2rss.xlab.app/img-proxy/?k=51f474c4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K16X9dseO3pSUpOWu8F0APukzJ0b4T2UJFxD4f3WId43hRx1XNibTqT1yiaH0jUXn77fuWlXPsQlzd0VQ1YkCkfqDwwHUfFWuGiao%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">上面是运行时的结构。</span></span></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">固件静态解析Patch调试位</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">先介绍一下 FPT（Flash Partition Table） 表：Flash 上的物理分区目录，主要是启动时候需要加载的一张路由表，所以这个里面存储了我们刚刚上面介绍的信息。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">它位于 ME 区域的固定偏移处，记录了 ME 内每个分区的位置、大小和类型。这张表的作用很简单：ROM 和 RBE 启动时没有文件系统，不知道 UTOK 在哪、FTPR 在哪、kernel 在哪——全靠查 FPT 来找到对应分区的物理位置。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">FPT 头部结构：</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.20555555555555555" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134511" src="https://wechat2rss.xlab.app/img-proxy/?k=97db38eb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K1ic1RTljcV8PTCEx3ysYGd7ibFrMq9a9FsNLOzo9eFLJfHXAcSbnVmv2amolkthzrk4NibAq9N14Q3WOdbnyRIvc7fBs0rRy5A6k%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">上面表格信息从UEFIExtract 源码中提取：解析FPT流程如下：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.7957920792079208" data-type="webp" data-w="808" style="max-width: 100%;" data-imgfileid="311134498" src="https://wechat2rss.xlab.app/img-proxy/?k=d9d91475&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0qd8RMC8PzZibZLpdwN6Od99Du2nb0bo4RZG2ibzhJpUPe9X3ajv9eqc8UzzLwuNvfPV1MWwa5UGtxiaDWrERkqowOIcVdwGRh7E%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">010如下图：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.6481481481481481" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134501" src="https://wechat2rss.xlab.app/img-proxy/?k=53d18a14&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K1OnK7gw5IL8VvxS3WRCPdoohhKUftl95Ra9n7PN2wlCw2c3qhEglZVGXC04iciadTu9icHZqrz0WSFtl09cD1WVztciauDwTnUKJ4%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">UTOK区域偏移：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.046296296296296294" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134497" src="https://wechat2rss.xlab.app/img-proxy/?k=311e128a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K0aHZ1zqicHp27kdVHwOpjlYibsy5viaQzMeLuPQhcOncy4sRs4qPQKFq5ENgWnrpiaZhUMoibYffCO5mIJo5xcVbViccXBKznnFPPro%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">UTOK区域</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.41944444444444445" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134500" src="https://wechat2rss.xlab.app/img-proxy/?k=a97b581e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1ts9a6CTVPDyU3q8dLujIEh0duwKAicdPtEr3tr9c4dzhmeeaOHAtuoMW23WjxOzEuytWMF0IGDic7iciaez5Wm49mDVeeUyxc9QA%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">根据逆向分析的结果：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.25462962962962965" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134503" src="https://wechat2rss.xlab.app/img-proxy/?k=8c4342e9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0j2YfTMaQK4396puGU2ggB9oxibKUeSxx9mfZIa8IhlSwKXJIkcx88EltuAda07fLnpO56ZBMqiam2x2DBwsbIbzOXC1pyhQfhU%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">我们需要的标志位就是0X298，吧这个标志位置1后就启动了部分调试能力，厂家默认这部分是FF，所以是不启动的。</span></span></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">CSME认证链路</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这是我逆向后整理一个图，从读取UTOK以及后面干了什么，UTOK标志位影响什么，还有哪些会影响到我们的调试接口的权限开放 ：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.8203703703703704" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134504" src="https://wechat2rss.xlab.app/img-proxy/?k=2850b52e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K29uHxDyJic9SmsiarPbKNm23KqTt5xZzYy75ibJWiaAp2sJEwx8zBMQ0fXG77EMNtbSzFeL2s9GnxlAU9ciaAkJtBKYbBSV3HkFC9g%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">根据逆向分析一共分成9层校验：</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第一层：UTOK[0x298] == 1</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">; rbe_utok_check — Z270 RBE 文件偏移 0xF31</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x40F31:  cmp [esi+0x298], 1     ; ★ 比较 UTOK 数据 +0x298 处是否为 1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x40F38:  jnz loc_40F76          ; 不等于 1 → 失败</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x40F3A:  xor al, al             ; al=0 返回成功</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第二层：boot_mode == 2</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">; rbe_detect_boot_config — Z270 RBE 文件偏移 0x10BA</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410AA:  mov al, [0x60410A4]    ; 读当前 boot_cfg[0]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410AF:  mov dl, al</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410B1:  and edx, 0x0F           ; 提取低 4 位 = boot_mode</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410B4:  sub edx, 2              ; boot_mode - 2</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410B7:  and dl, 0xFD</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410BA:  jnz loc_410C4           ; ★ 不等于 0 → 不是 mode=2, 跳过 bit4</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410BC:  or eax, 0x10            ; 是 mode=2 → bit4=1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; 第二处检查 (不管 UTOK)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410D4:  jnz loc_410E5           ; ★ 不是 mode=2 → 跳过 bit7</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410D6:  or [0x60410A5], 1       ; b1 bit0 = mfg_flag</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x410DD:  or eax, 0x80            ; boot_cfg[0] bit7=1</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">boot_mode 来自 0xF00B1050 寄存器的 &gt;&gt; 4 位（PCH 硬件 strap），代码在 0x4109C。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第三层：boot config 解析成功</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">; bup_cfg_handler — Z270 BUP 文件偏移 0x1CCA0</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1CCF1:  lea edx, [ebp-0xCCh]    ; 输出缓冲区</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1CCF7:  mov eax, 5D521h         ; 输入数据地址</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1CCFC:  call sub_19CB0          ; ★ 调用配置解析器</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; sub_19CB0 内部：</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x19CFA:  call ROM_SVC_MEMCMP     ; memcmp(10B, magic_key, input_data)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x19D21:  call ROM_SVC_MEMCMP     ; memcmp(9B, field_key, input_data)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; 解析成功后：</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1CD63:  mov [0x8416Eh], 1       ; ★ 配置加载标志置 1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; sub_4515 字段查找：</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x452E:  push 0x0C                ; 比较 12 字节</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x4532:  call ROM_SVC_MEMCMP      ; memcmp(12, field, table_entry)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x4537:  add edi, 0x18            ; 下一表项 (stride=24)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x4541:  imul ebx, 0x18</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x4544:  mov eax, [ebx+0x5A4D8]   ; 返回类型码</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">解析器逐字段匹配 &#34;utknknobs&#34;、&#34;uniquepid&#34; 等字符串，通过 0x5A4E4 表（35 项，每个 stride 24 字节）映射字段名到类型码。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第四层：0x8416C == 1</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">; Z270 BUP 文件偏移 </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x1D187</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x1D199:  mov [</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x8416Ch], </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;">        ; ★ 无条件置 DCI CT 标志为 </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x1D1A0:  call sub_161D9           ; NOTIFY(</span><span class="code-snippet__number">3</span><span textstyle="" style="font-size: 15px;">, &amp;</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">var</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;">)</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">loc_1D187 是 bup_cfg_handler 中链表搜索失败后的兜底路径。只要走到这里，0x8416C 就被无条件设为 1。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第五层：0x8416D == 1</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">; Z270 BUP 文件偏移 </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x1D1A8</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x1D1A8:  mov [</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x8416Dh], </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;">        ; ★ 无条件置 CT 总门控为 </span><span class="code-snippet__number">1</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x1D1AF:  call sub_27049            ; 后续 CT 处理</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">紧跟在第四层之后，0x8416D 也被无条件设为 1。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第六层：flag_84884 == 0</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">; sub_A38B — Z270 BUP 文件偏移 0xA38B</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA38B:  push ebp</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA38F:  cmp [0x84884h], 0         ; ★ 检查硬件加密标志</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA3AA:  jz loc_A3B5               ; ==0 → 走软件回退</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA3B0:  jmp ROM_SVC_CRYPTO        ; ==1 → ROM 硬件加密验证</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; sub_A14C 软件回退:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA2B3:  cmp ecx, 0x40             ; arg_4=1, 与 0x40 比较</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA2B6:  ja loc_A2C9               ; arg_4 &gt; 0x40 才做验证</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA2B8:  push ecx                  ; arg_4 = 1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA2BD:  call ROM_SVC_MEMCPY       ; ← 不是验证, 只是内存拷贝</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0xA2C5:  xor eax, eax              ; ★ return 0 = 验证通过</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">flag_84884 == 0 时，sub_A14C 中 arg_4=1 &lt; 0x40，走不到加密验证逻辑，直接 return 0。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第七层：CT Handler</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">; CT Handler — Z270 BUP 文件偏移 0x264A2</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x264CD:  call ROM_SVC_DID_PHASE   ; DID 状态检查</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x2651E:  call sub_1A71B            ; ★ 解析 CT 配置表</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; sub_1A595 门控:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1A5DB:  cmp [0x8416Dh], 0        ; ★ 检查总门控</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1A5E8:  cmp [0x8416Ch], 0        ; ★ 检查 DCI 标志</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; sub_1A71B 循环:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x2652C:  movzx eax, word [ebp-0x32Eh]  ; 循环上限</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x26537:  cmp byte [entry_type], 1      ; type=1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x26557:  call ROM_SVC_NOTIFY            ; ★ NOTIFY(0xC7, addr, val)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x2655F:  cmp byte [entry_type], 2      ; type=2</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x2657F:  call ROM_SVC_NOTIFY            ; ★ NOTIFY(0xCF, addr, val)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x26587:  inc ebx                        ; 下一项</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x26588:  jmp loop                       ; 继续循环</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">CT Handler 遍历配置表（stride=8B），将 type=1 条目的值和地址写入 state 0xC7，type=2 条目的值写入 state 0xCF。这些状态通过 ME 内部总线控制 PCH 的 DCI 传输层。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第八层：var_B7 == 0x36</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__string">;</span><span class="code-snippet__string">sub_27049</span><span class="code-snippet__string">—</span><span class="code-snippet__string">Z270</span><span class="code-snippet__string">BUP</span><span class="code-snippet__string">文件偏移</span><span class="code-snippet__number">0x27049</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x2707F:</span></span><span leaf=""><span class="code-snippet__string">lea</span><span class="code-snippet__string">ebx,</span><span textstyle="" style="font-size: 15px;"> [</span><span class="code-snippet__string">var_B7</span><span textstyle="" style="font-size: 15px;">]        </span><span class="code-snippet__string">;</span><span class="code-snippet__string">ebx</span><span class="code-snippet__string">=</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">&amp;var_B7</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x27094:</span></span><span leaf=""><span class="code-snippet__string">call</span><span class="code-snippet__string">sub_1B0E4</span><span class="code-snippet__string">;</span><span class="code-snippet__string">sub_1B0E4(5E6C2h,</span><span class="code-snippet__string">var_B7,</span><span class="code-snippet__number">0</span><span class="code-snippet__string">,</span><span class="code-snippet__number">6</span><span class="code-snippet__string">,</span><span class="code-snippet__string">...)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__string">;</span><span class="code-snippet__string">sub_1B0E4</span><span class="code-snippet__string">→</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">sub_1A141:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1A248:</span></span><span leaf=""><span class="code-snippet__string">call</span><span class="code-snippet__string">sub_19CB0</span><span class="code-snippet__string">;</span><span class="code-snippet__string">解析</span><span class="code-snippet__string">BSS</span><span class="code-snippet__string">全零数据</span><span class="code-snippet__string">→</span><span class="code-snippet__string">退化结果</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__string">;</span><span class="code-snippet__string">非</span><span class="code-snippet__string">VFS</span><span class="code-snippet__string">路径不清除</span><span class="code-snippet__string">sub_1A141</span><span class="code-snippet__string">的</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">edx:</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__string">;</span><span class="code-snippet__string">sub_1A141</span><span class="code-snippet__string">不把</span><span class="code-snippet__string">edx</span><span class="code-snippet__string">写回</span><span class="code-snippet__string">*edx</span><span class="code-snippet__string">(=</span><span class="code-snippet__string">var_B7)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__string">;</span><span class="code-snippet__string">回到</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">sub_27049:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x270B4:</span></span><span leaf=""><span class="code-snippet__string">cmp</span><span textstyle="" style="font-size: 15px;"> [</span><span class="code-snippet__string">var_B7</span><span textstyle="" style="font-size: 15px;">]</span><span class="code-snippet__string">,</span><span class="code-snippet__string">36h</span><span class="code-snippet__string">;</span><span class="code-snippet__string">★</span><span class="code-snippet__string">检查</span><span class="code-snippet__string">var_B7</span><span class="code-snippet__string">是否等于</span><span class="code-snippet__number">0x36</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x270BB:</span></span><span leaf=""><span class="code-snippet__string">jnz</span><span class="code-snippet__string">loc_2711D</span><span class="code-snippet__string">;</span><span class="code-snippet__string">不等于</span><span class="code-snippet__string">→</span><span class="code-snippet__string">跳过</span><span class="code-snippet__string">state</span><span class="code-snippet__string">写入</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__string">;</span><span class="code-snippet__string">如果等于:</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x270CF:</span></span><span leaf=""><span class="code-snippet__string">call</span><span class="code-snippet__string">sub_26817</span><span class="code-snippet__string">;</span><span class="code-snippet__string">★</span><span class="code-snippet__string">write_state(0x50,</span><span class="code-snippet__number">4</span><span class="code-snippet__string">,</span><span class="code-snippet__number">1</span><span class="code-snippet__string">)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x27115:</span></span><span leaf=""><span class="code-snippet__string">call</span><span class="code-snippet__string">sub_26817</span><span class="code-snippet__string">;</span><span class="code-snippet__string">★</span><span class="code-snippet__string">write_state(0x58,</span><span class="code-snippet__number">8</span><span class="code-snippet__string">,</span><span class="code-snippet__number">1</span><span class="code-snippet__string">)</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">var_B7 是在栈上分配的一块内存。走非 VFS 路径时（flag_84204 bit0 == 0），sub_1A141 不会写入 *edx（即 var_B7）。var_B7 未被初始化，其值为栈上之前代码路径残留的数据。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">第九层：FPF Debug Auth</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">; sub_16388 — Z270 BUP 文件偏移 0x16388</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x16388:  mov eax, [0x83E38h]      ; ★ 读取 DCI 上下文指针</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x16391:  mov eax, [eax+0x48h]     ; ★ 读取 +0x48 偏移处的值</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x16394:  retn</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; 调用方 — Z270 BUP 文件偏移 0x1F873</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1F873:  call sub_16388            ; 读状态</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1F875:  test al, 2               ; ★ 检查 bit1</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">0x1F877:  jz loc_1F8BD             ; bit1=0 → 跳过 sub_1D64C</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">; bit1=1 → sub_1D64C → sub_1D1DA → 6 次 NOTIFY</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">0x83E38 是 ThreadX 在加载 BUP 时通过 copy-down 初始化的上下文指针。消费板的初始化数据中该指针指向的结构体的 +0x48 处 bit1 为 0。</span></span></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">UTok固件格式解析</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这里通过分析整个DCI认证的时候发现的一些校验的字段与对应的变量关系。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">整个UTok就是从本地拉去到内存后进行解析最后映射到不同的变量上去。</span></span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.6444444444444445" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="311134512" src="https://wechat2rss.xlab.app/img-proxy/?k=2d8f5256&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K0NIIqmf1sZVPX8xstDcsztXV7FHBt5asqNER2iaNg0ia6pwuw6Mp8QSmA8c18EmH6hIJ7ibv7phUibDdR5YJTsibjmmficdXpGAD5bw%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div data-mpa-action-id="mq0dgpx2myw" data-pm-slice="0 0 []" style="text-align: justify;"><div style="font-size: 15px;letter-spacing: 1px;padding: 0px 8px;box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="will-change: transform;box-sizing: border-box;"><div style="display: flex;flex-flow: row;text-align: center;justify-content: center;margin: 10px 0%;box-sizing: border-box;"><div style="display: inline-block;vertical-align: bottom;width: auto;flex: 0 0 auto;align-self: flex-end;min-width: 10%;max-width: 100%;height: auto;border-bottom: 1px solid rgb(55, 113, 187);border-bottom-right-radius: 0px;padding: 0px 5px 5px;box-sizing: border-box;"><div style="justify-content: center;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;width: 100%;vertical-align: top;background-color: rgba(55, 113, 187, 0.09);padding: 0px 10px;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="margin: 0px 0%;box-sizing: border-box;"><div style="font-size: 16px;color: rgb(55, 113, 187);box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">Intel-SA-00086 定位</span></strong></p></div></div></div></div></div></div></div></div><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这里我定位了一下 Intel-SA-00086  公开泄露的这个位置：</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">传统的一个溢出漏洞：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.5333333333333333" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134506" src="https://wechat2rss.xlab.app/img-proxy/?k=ae697c71&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K2icDMa7GiawaeHOJToxu3EMgJQXb3zzF5tnwIIicuwoh6niajt5iarvZ6v2SiaUTrV6iaN7o4FMQyK3z2bc5iaSUlYYeZo97ox7kl7bYw%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.33425925925925926" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134505" src="https://wechat2rss.xlab.app/img-proxy/?k=5d12bf71&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K1ibPicADtxhfdiav97ibeVFb0Ev0OibB5Qr35pntCgqLmibjiaTIicQIurfszM2WbiczcGpkribHhwbpRds1Gicfe3sKnXOuDCLkBrdXhXok%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">核心就是这个数组，这个实际上是一个CT文件的缓冲区，但是没有对CT文件进行校验吗，所以可以构造畸形CT文件来让他直接溢出，当我们的V12超过100的时候这个数组就溢出了。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">CT文件格式如下：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">   偏移     内容</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  ┌───────┬──────────────────────────────────────┐</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x00</span><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">00</span><span class="code-snippet__number">00</span><span class="code-snippet__number">00</span><span class="code-snippet__number">00</span><span class="code-snippet__number">00</span><span class="code-snippet__number">00</span><span textstyle="" style="font-size: 15px;">    ← </span><span class="code-snippet__number">6</span><span textstyle="" style="font-size: 15px;"> bytes 保留  │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x06</span><span textstyle="" style="font-size: 15px;">  │ C8 </span><span class="code-snippet__number">00</span><span textstyle="" style="font-size: 15px;">                  ← </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">uint16</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> = </span><span class="code-snippet__number">200</span><span textstyle="" style="font-size: 15px;"> │  ← 畸形的关键!</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  ├───────┼──────────────────────────────────────┤</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x08</span><span textstyle="" style="font-size: 15px;">  │ Record </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">   (DFX 写入)                │  安全区</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x10</span><span textstyle="" style="font-size: 15px;">  │ Record </span><span class="code-snippet__number">1</span><span textstyle="" style="font-size: 15px;">   (DFX 写入)                │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │  ...  │ ...                                  │  v13[</span><span class="code-snippet__number">0..799</span><span textstyle="" style="font-size: 15px;">]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x320</span><span textstyle="" style="font-size: 15px;"> │ Record </span><span class="code-snippet__number">99</span><span textstyle="" style="font-size: 15px;">  (最后一个安全 record)      │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  ├───────┼──────────────────────────────────────┤</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x328</span><span textstyle="" style="font-size: 15px;"> │ Record </span><span class="code-snippet__number">100</span><span textstyle="" style="font-size: 15px;"> → 覆写 cookie             │  越界!</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x330</span><span textstyle="" style="font-size: 15px;"> │ Record </span><span class="code-snippet__number">101</span><span textstyle="" style="font-size: 15px;"> → 覆写 saved esi + ebp    │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x338</span><span textstyle="" style="font-size: 15px;"> │ Record </span><span class="code-snippet__number">102</span><span textstyle="" style="font-size: 15px;"> → 覆写 </span><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;"> address     │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │  ...  │ ...                                  │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  │ </span><span class="code-snippet__number">0x648</span><span textstyle="" style="font-size: 15px;"> │ Record </span><span class="code-snippet__number">199</span><span textstyle="" style="font-size: 15px;">                            │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  └───────┴──────────────────────────────────────┘</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这个函数就是我们的从缓冲区拷贝函数：</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.05555555555555555" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134502" src="https://wechat2rss.xlab.app/img-proxy/?k=353fa677&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K3oITABrmvsYKRdic2lyiao5tbNyNYNsGjg4LrfaFumFs9icwribUShZgtjCz8vokAbkbCyVLGXj2p7IQXlV76KPfejJTwFayD2NQo%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这里的v11和v12实际上可以认为是一个结构体</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">typedef</span><span class="code-snippet__keyword">struct</span><span textstyle="" style="font-size: 15px;"> {</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">uint8_t</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">     reserved[</span><span class="code-snippet__number">6</span><span textstyle="" style="font-size: 15px;">];    </span><span class="code-snippet__comment">// +0x00</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">uint16_t</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">    num_records;    </span><span class="code-snippet__comment">// +0x06 </span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">ct_record_t</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> records[];      </span><span class="code-snippet__comment">// +0x08</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  } </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">ct_file_t</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">;</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.09178743961352658" data-type="webp" data-w="828" style="max-width: 100%;" data-imgfileid="311134507" src="https://wechat2rss.xlab.app/img-proxy/?k=61f6a9de&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K0Znem6SeHGr3k8zHSleh7tEjnUh1jO2OYuwVC0ibzPzSUsk6aTQKE0OM803YEWn5Z1GqJKwjUDbicn0DFFNNYe4d3ORxDaHdPss%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">但是这个里面存在一个巨大的问题也是无法在酷睿上在这里操作的原因，就是有Cookie，在kaokao选择的TXE平台实际上Cookie可以利用Tls机制绕过，但是我们这个没有办法，我们的cookie是直接从Rom里面生成的，无法避免。</span></span></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">这里我贴一个我整理的分析链路感兴趣的自己可以去看看：</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span textstyle="" style="font-size: 15px;">ROM</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> (mask ROM, 不可提取)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    ├─ 早期初始化: 在 </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">SRAM</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> 预填充进程上下文表 @ </span><span class="code-snippet__number">0</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">x97B58</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    │   每个表项 +</span><span class="code-snippet__number">8</span><span textstyle="" style="font-size: 15px;"> 处包含该进程的 </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">cookie</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> 值 (随机/派生)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    ├─ </span><span class="code-snippet__number">0</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">xFFF810E7</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">: </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">ROM</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> 函数, </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">kernel</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> 调用后返回表索引 (</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">~</span><span class="code-snippet__number">31</span><span textstyle="" style="font-size: 15px;">)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    └─ </span><span class="code-snippet__number">0</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">xFFFF85FA</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">: </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">__security_check_cookie</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">, </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">cookie</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> 不匹配时调用</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">Kernel</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> (</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x80000)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    ├─ </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">loc_E54D</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> → </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">call</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">ROM</span></span><span leaf=""><span class="code-snippet__number">0</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">xFFF810E7</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> → 取索引 → 查表 → 返回上下文</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    ├─ </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">sub_60DE</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> → </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">push</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">[上下文+8]</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> → </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">call</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">sub_23B2</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    └─ </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">sub_23B2</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> → </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">mov</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">[0x100C]</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">, </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">eax</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">BUP</span></span><span leaf=""><span textstyle="" style="font-size: 15px;"> (</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">x20000)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    │</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">    └─ </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">CT</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">handler</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">: </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">mov</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">eax</span></span><span leaf=""><span textstyle="" style="font-size: 15px;">, </span></span><span leaf=""><span textstyle="" style="font-size: 15px;">[0x100C]</span></span></code></pre></p><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">一个失败的ROP:</span></span></p><p data-mpa-preserve-tpl-color="t" data-mpa-template="t" mpa-preserve="t" mpa-from-tpl="t"><pre style="margin: 0px;padding: 0px;background: none;text-align: justify;"><code style="border-radius: 4px;font-size: 13px;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 5.95px;overflow-x: auto;"><span leaf=""><span class="code-snippet__keyword">import</span><span textstyle="" style="font-size: 15px;"> struct</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  HEADER_SIZE  = </span><span class="code-snippet__number">8</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  RECORD_SIZE  = </span><span class="code-snippet__number">8</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  SAFE         = (</span><span class="code-snippet__number">0x334</span><span textstyle="" style="font-size: 15px;"> - HEADER_SIZE) // RECORD_SIZE   </span><span class="code-snippet__comment"># 101</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  DID_PHASE_VA = </span><span class="code-snippet__number">0x35560</span><span class="code-snippet__comment"># sub_35560: SVC(state=0x19F) -&gt; DCI enable</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  DCI_VAL      = </span><span class="code-snippet__number">0x1010</span><span class="code-snippet__comment"># DCI activation value</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  COOKIE_GUESS = </span><span class="code-snippet__number">0</span><span class="code-snippet__comment"># must match SRAM [0x100C]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  BSS_SAFE     = </span><span class="code-snippet__number">0x84200</span><span class="code-snippet__comment"># zero-initialized, fake ebp</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">def</span><span class="code-snippet__title">record</span><span textstyle="" style="font-size: 15px;">(</span><span class="code-snippet__params">ty, off20, val</span><span textstyle="" style="font-size: 15px;">):</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__keyword">return</span><span textstyle="" style="font-size: 15px;"> struct.pack(</span><span class="code-snippet__string">&#39;&lt;II&#39;</span><span textstyle="" style="font-size: 15px;">, (ty &lt;&lt; </span><span class="code-snippet__number">24</span><span textstyle="" style="font-size: 15px;">) | (off20 &amp; </span><span class="code-snippet__number">0xFFFFF</span><span textstyle="" style="font-size: 15px;">), val &amp; </span><span class="code-snippet__number">0xFFFFFFFF</span><span textstyle="" style="font-size: 15px;">)</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  recs  = []</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  recs += [record(</span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0x00E0</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0x01000000</span><span textstyle="" style="font-size: 15px;">)]    </span><span class="code-snippet__comment"># DFX latch</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  recs += [record(</span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0x0010</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0x00000888</span><span textstyle="" style="font-size: 15px;">)]    </span><span class="code-snippet__comment"># DCI bits</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  recs += [record(</span><span class="code-snippet__number">2</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0x0003</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0x00000000</span><span textstyle="" style="font-size: 15px;">)]    </span><span class="code-snippet__comment"># TraceHub</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  recs += [record(</span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">) </span><span class="code-snippet__keyword">for</span><span textstyle="" style="font-size: 15px;"> _ </span><span class="code-snippet__keyword">in</span><span class="code-snippet__built_in">range</span><span textstyle="" style="font-size: 15px;">(</span><span class="code-snippet__number">3</span><span textstyle="" style="font-size: 15px;">, SAFE)]</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__comment"># overflow: [ebp-0xC]=cookie, [ebp-8]=ebx, [ebp-4]=esi, [ebp]=ebp, [ebp+4]=ret, [ebp+8]=arg</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  recs += [struct.pack(</span><span class="code-snippet__string">&#39;&lt;II&#39;</span><span textstyle="" style="font-size: 15px;">, COOKIE_GUESS, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">)]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  recs += [struct.pack(</span><span class="code-snippet__string">&#39;&lt;II&#39;</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__number">0</span><span textstyle="" style="font-size: 15px;">, BSS_SAFE)]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  recs += [struct.pack(</span><span class="code-snippet__string">&#39;&lt;II&#39;</span><span textstyle="" style="font-size: 15px;">, DID_PHASE_VA, DCI_VAL)]</span></span><span leaf=""><br/></span><span leaf=""><span textstyle="" style="font-size: 15px;">  payload = struct.pack(</span><span class="code-snippet__string">&#39;&lt;6sH&#39;</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__string">b&#39;\x00&#39;</span><span textstyle="" style="font-size: 15px;">*</span><span class="code-snippet__number">6</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__built_in">len</span><span textstyle="" style="font-size: 15px;">(recs)) + </span><span class="code-snippet__string">b&#39;&#39;</span><span textstyle="" style="font-size: 15px;">.join(recs)</span></span><span leaf=""><br/></span><span leaf=""><span class="code-snippet__built_in">open</span><span textstyle="" style="font-size: 15px;">(</span><span class="code-snippet__string">&#39;payload_rop.bin&#39;</span><span textstyle="" style="font-size: 15px;">, </span><span class="code-snippet__string">&#39;wb&#39;</span><span textstyle="" style="font-size: 15px;">).write(payload)</span></span></code></pre></p><h2 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">最后的效果</span></span></h2><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">由于只解锁了物理链接的端口限制，所以我们发送的命令CPU会相应，但是很多命令是拒绝的。</span></span><span leaf=""><br/></span><span leaf=""><img data-aistatus="1" alt="图片描述" class="rich_pages wxw-img" data-ratio="0.5222222222222223" data-type="webp" data-w="1080" style="max-width: 100%;" data-imgfileid="311134508" src="https://wechat2rss.xlab.app/img-proxy/?k=4e62436b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FCpo2XCpI7K27S5G3Wo31t7uZd8ibGbMzSdCTkXZlFV7UwoGUjftaE0bIcee2ROfVaCg18Ll6q2PYqTsgd3fXF6UZeImHzUzPSF6fH0yOSU5w%2F640%3Fwx_fmt%3Dother%26from%3Dappmsg"/></span></p><h1 style="font-weight: bold;font-size: 15px;margin-top: 1rem;margin-bottom: 1rem;text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">总结</span></span></h1><p style="text-align: justify;"><span leaf=""><span textstyle="" style="font-size: 15px;">如果你看到这里觉得好玩，或者对你有帮助请点个赞，有啥建议或者想说的可以留言，文章不做任何限制要求。后续可能还会继续研究，如果有其他进展我在继续发，其他师傅有什么想法可以在评论区一起讨论一下。</span></span></p></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;caret-color: rgb(51, 51, 51);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);letter-spacing: 1px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: auto;margin-left: auto;padding: 15px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;font-variant-numeric: normal;letter-spacing: 0.544px;line-height: 27.2px;width: 656.688px;justify-content: space-between;align-items: center;flex-direction: row;box-shadow: rgb(217, 218, 218) 0px 0px 10px;background-color: rgb(232, 234, 235);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;justify-content: flex-start;align-items: center;flex-direction: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;border-width: 1px;border-style: solid;border-color: rgb(182, 182, 187);border-radius: 50%;width: 70px;height: 70px;overflow: hidden;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1" data-s="300,640" data-type="png" data-w="220" style="-webkit-tap-highlight-color:transparent;outline:0px;border-style:none;letter-spacing:0.544px;display:inline;width:68px;visibility:visible !important;height:68px;" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_png/Cpo2XCpI7K23kJgZh28yCuibNebbbn0Hq1MBp8roBduTUJ474lPuI3PuQxbqTzcHfdmdRWnPichJBaX89mXtcAxltrSBt2xoTMcwhOh0r4ZqM/0?wx_fmt=png&amp;from=appmsg" data-cropselx1="0" data-cropselx2="68" data-cropsely1="0" data-cropsely2="68" data-imgfileid="311134470" src="https://wechat2rss.xlab.app/img-proxy/?k=8a9eafc6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FCpo2XCpI7K23kJgZh28yCuibNebbbn0Hq1MBp8roBduTUJ474lPuI3PuQxbqTzcHfdmdRWnPichJBaX89mXtcAxltrSBt2xoTMcwhOh0r4ZqM%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p></div><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-left: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;align-items: flex-start;justify-content: center;flex-direction: column;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" data-immersive-translate-paragraph="1" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 15px;letter-spacing: 1px;font-weight: bolder;"><span leaf="">看雪ID：</span><span leaf=""><span textstyle="" style="letter-spacing: 1px;color: rgb(63, 63, 63);font-weight: bold;">BitWarden</span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;vertical-align: inherit;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 14px;letter-spacing: normal;"><span leaf=""><span textstyle="" style="letter-spacing: normal;font-style: italic;"><a href="https://bbs.kanxue.com/user-home-992284.htm" target="_blank">https://bbs.kanxue.com/user-home-992284.htm</a></span></span></span></p></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;min-height: 1em;background-color: rgb(255, 255, 255);"><span data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 14px;color: rgb(136, 136, 136);"><span leaf="">*本文为看雪论坛精华文章，由 </span><span leaf="">BitWarden</span><span leaf="">原创，转载请注明来自看雪社区</span></span></p><div style="text-align: center;margin-left: 0px;margin-right: 0px;"><p style="text-align: center;margin-top: 16px;"><a href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458611117&amp;idx=1&amp;sn=f063788f8971edf449fd09571d515ba7&amp;scene=21#wechat_redirect" imgurl="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/640?wx_fmt=jpeg&amp;from=appmsg" linktype="image" tab="innerlink" data-itemshowtype="0" target="_blank" data-linktype="1"><span style="width:100%;" class="js_jump_icon h5_image_link"><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.40390625" data-s="300,640" data-type="jpeg" data-w="1280" style="width:100%;" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/Cpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY/0?wx_fmt=jpeg&amp;from=appmsg" data-cropselx2="578" data-cropsely2="294" data-imgfileid="311132601" src="https://wechat2rss.xlab.app/img-proxy/?k=34c8b770&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FCpo2XCpI7K1AwbHhwfQiauAWSoPAoxlgD2Zz01iaZNnu3GCcPiaXSh9jibSeJ97LHOEfHBE5py6v6zwAcotNibKBhic8wXyf2LvheA46nn451LJFY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></span></a></p><p style="text-align: center;"><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">第十届安全开发者峰会【</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;margin-left: 0px;margin-right: 0px;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;style&#34;:&#34;text-align: center;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">议题征集</span></span><span leaf="" mpa-font-style="motlyltcr1u" style="font-size: 14px;" data-mpa-action-id="motlylu51dc6" data-pm-slice="0 0 []"><span textstyle="" style="letter-spacing: 1px;color: rgb(255, 76, 0);">】-欢迎投稿</span></span></p></div><div mpa-from-tpl="t" data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;font-size: 16px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 10px;margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;text-align: left;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: 645px;vertical-align: top;background-color: rgb(248, 248, 248);"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-top: 20px;margin-bottom: 20px;-webkit-tap-highlight-color: transparent;outline: 0px;display: flex;flex-flow: row;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-right: 30px;margin-left: 30px;-webkit-tap-highlight-color: transparent;outline: 0px;display: inline-block;width: auto;vertical-align: top;flex: 100 100 0%;height: auto;align-self: flex-start;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 10px;-webkit-tap-highlight-color: transparent;outline: 0px;"><div data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(68, 73, 85);" data-mpa-action-id="mpz85kk210x5" data-pm-slice="0 0 []"><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span style="-webkit-tap-highlight-color: transparent;outline: 0px;font-weight: bolder;letter-spacing: 1px;font-size: 15px;color: rgb(2, 30, 170);" data-mpa-action-id="mc4gkooxw4z"><span style="color: rgb(2, 30, 170);font-size: 15px;" mpa-font-style="md8f6c2zutc"><span style="color: rgb(2, 30, 170);font-size: 14px;" mpa-font-style="mpz85kjeogg"><span leaf=""><span textstyle="" style="color: rgb(2, 30, 170);"># 往期推荐</span></span></span></span></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617971&amp;idx=1&amp;sn=4622615543a67f8798504569081adc7a&amp;scene=21#wechat_redirect" textvalue="从时间片轮转到调用级并发：unidbg 单后端多线程架构重构" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">从时间片轮转到调用级并发：unidbg 单后端多线程架构重构</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617960&amp;idx=2&amp;sn=29f97365fe3188b772387e3dbc806c70&amp;scene=21#wechat_redirect" textvalue="基于VT EPT的无痕断点无痕hook原理及其应用" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">基于VT EPT的无痕断点无痕hook原理及其应用</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617841&amp;idx=1&amp;sn=eaf79a20b2ec38cac329f72b75bd03a4&amp;scene=21#wechat_redirect" textvalue="基于 GLM-5.2 的 X-Gnarly (332位) 纯算还原分析" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">基于 GLM-5.2 的 X-Gnarly (332位) 纯算还原分析</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617793&amp;idx=2&amp;sn=7c04cbd608dbcb66a161c78d512ec8ee&amp;scene=21#wechat_redirect" textvalue="ISCC 2026 题目 [house of apple 2] 利用方法" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">ISCC 2026 题目 [house of apple 2] 利用方法</span></a></span></p><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;line-height: 2em;"><span leaf="" mpa-font-style="mpz85kjemwg" style="font-size: 14px;"><a class="normal_text_link mp_article_text_link" target="_blank" style="color: rgb(2, 30, 170);" href="https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&amp;mid=2458617790&amp;idx=1&amp;sn=7b3e3b422fc5920c4e8c99bf8f5ef76a&amp;scene=21#wechat_redirect" textvalue="Android 内核无痕 Hook 框架设计思路和避坑经验" data-itemshowtype="0" linktype="text" data-linktype="2"><span textstyle="" style="color: rgb(2, 30, 170);">Android 内核无痕 Hook 框架设计思路和避坑经验</span></a></span></p></div></div></div></div></div></div></div></div><p data-immersive-translate-walked="c1663967-1885-4644-94a5-9560ba03d104" style="margin-bottom: 0px;-webkit-tap-highlight-color: transparent;outline: 0px;letter-spacing: 0.544px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;" nodeleaf=""><img data-aistatus="1" alt="图片" class="rich_pages wxw-img" data-ratio="0.46875" data-s="300,640" data-type="jpeg" data-w="640" style="-webkit-tap-highlight-color: transparent;outline: 0px;border-style: none;color: rgb(102, 102, 102);font-family: 微软雅黑;font-size: 15px;letter-spacing: 0.544px;widows: 1;display: inline;width: 661px !important;visibility: visible !important;" width="661px" data-backw="562" data-backh="263" data-copyright="0" data-fileid="100035996" data-imgfileid="311109982" src="https://wechat2rss.xlab.app/img-proxy/?k=e6b64b01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FUia4617poZXP96fGaMPXib13V1bJ52yHq9ycD9Zv3WhiaRb2rKV6wghrNa4VyFR2wibBVNfZt3M5IuUiauQGHvxhQrA%2F640%3Fwx_fmt%3Dother%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1%26tp%3Dwebp"/></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="text-align: left;justify-content: flex-start;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 20%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111351" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="font-size: 13px;text-align: justify;box-sizing: border-box;"><p style="text-align: center;white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球分享</span></strong></p></div></div><div style="display: inline-block;vertical-align: top;width: 80%;align-self: flex-start;flex: 0 0 auto;box-sizing: border-box;"><div style="text-align: right;justify-content: flex-end;display: flex;flex-flow: row;box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111352" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球点赞</span></strong></p></div></div></div><div style="display: inline-block;vertical-align: top;width: 23%;flex: 0 0 auto;height: auto;align-self: flex-start;box-sizing: border-box;"><div style="text-align: center;margin: 0px 0%;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 40%;height: auto;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.8808777" data-s="300,640" data-type="gif" data-w="638" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111353" src="https://wechat2rss.xlab.app/img-proxy/?k=cd885a91&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpvJW9icibkZBj9PNBzyQ4d4JFoAKxdnPqHWpMPQfNysVmcL1dtRqU7VyQ%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div><div style="margin: 3px 0% 0px;box-sizing: border-box;"><div style="font-size: 13px;color: rgb(62, 62, 62);text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><strong style="box-sizing: border-box;"><span leaf="">球在看</span></strong></p></div></div></div></div></div></div><div style="box-sizing: border-box;"><div style="display: inline-block;vertical-align: top;width: 10%;box-sizing: border-box;"><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;width: 100%;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.696" data-s="300,640" data-type="gif" data-w="500" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="311111354" src="https://wechat2rss.xlab.app/img-proxy/?k=6ec9988e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2F1UG7KPNHN8Hice1nuesdoDZjYQzRMv9tpUHZDmkBpJ4khdIdVhiaSyOkxtAWuxJuTAs8aXISicVVUbxX09b1IWK0g%2F640%3Fwx_fmt%3Dgif%26from%3Dappmsg"/></p></div></div><div style="display: inline-block;vertical-align: top;width: 90%;padding: 0px 0px 0px 10px;box-sizing: border-box;"><div style="margin: 10px 0% 0px;box-sizing: border-box;"><p style="white-space: normal;margin: 0px;padding: 0px;box-sizing: border-box;"><span style="font-size: 15px;box-sizing: border-box;"><span leaf="">点击阅读原文查看更多</span></span></p></div></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>


<p><a href="https://bbs.kanxue.com/thread-291962.htm">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=e0714302&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5NTc2MDYxMw%3D%3D%26mid%3D2458618431%26idx%3D1%26sn%3D6fb037cb1e411b795256e427858c349c">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 07 Aug 2026 18:09:00 +0800</pubDate>
    </item>
  </channel>
</rss>